平定东吴后,朱元璋立即开始考虑平定天下的方略。他告诫诸将说:“江南既平,当北定中原,统一天下。大业垂成,更需努力!”当时,浙东有方国珍,福建有陈友定,两广有何真,云南有元朝宗室梁王把匝刺瓦尔密,四川有明升,北方则在元朝诸将的控制之下。元朝诸将一直自相残杀、纷争不断,元朝皇帝多次诏令他们合力南征,他们只当作耳旁风,都不肯执行。云南相距太远,一时难以顾及,四川则主幼兵弱,难有作为。朱元璋在对局势作了通盘考虑后,决定抓紧时机,南征北伐并举,即以主力北伐中原,同时分兵平定浙东、福建和两广。
方国珍在朱元璋攻占婺州等地后即已表示归顺,但他同时还与元朝保持着密切联系。朱元璋攻克杭州后,他颇感惊惧,派人联络北方的扩廓帖木儿和福建的陈友定,试图结成犄角之势以自保。朱元璋十分恼怒,致信列举他12条罪状,劝他“改过效顺”。方国珍以为平江城池坚固,易守难攻,朱元璋一时无力南顾,再加上自己有海上优势,朱元璋的步骑兵在海滨难以施展,因此不肯接受朱元璋的告诫。他下令将珍宝都搬到船上,准备不得已时逃向大海。吴元年(1367年)九月,在攻克平江前夕,朱元璋派出三路大军攻取浙东,其中一路由海上进攻,以切断方国珍的退路。方国珍的部队毫无斗志,纷纷归顺。到十一月,庆元(今浙江宁波)失陷,方国珍率残部入海,在朱元璋水军的强大攻势面前,部将无心恋战,陆续投降。方国珍见日暮途穷,只得奉表乞降。
在对方国珍的军事行动正在进行之时,吴元年(公元1367年)十月二十一日,朱元璋又发布命令,派出三支征讨大军:胡美等率军进攻福建,杨璟等率军进攻广西,徐达、常遇春率军北伐中原。同时,朱元璋还加紧为登基称帝作准备。次年正月初四,朱元璋正式在应天即皇帝位,国号大明,建元洪武。
盘踞福建的陈友定是福清人,出身贫苦。红巾军进攻福建时,他参加了地方武装,后来不断升迁,官至福建行省平章,虽割据称雄,但一直效忠元朝。福建军事重镇有陈友定的官署所在地延平(今福建南平)以及福州、建宁(今福建建瓯)。朱元璋也兵分三路:一路是朝美所率主力,从江西渡彬关,为正兵;一路是汤和、廖永忠所率舟师,从宁波南下,进攻福州,为奇兵;还有一路由李文忠指挥,从浦城进攻建宁,是疑兵。三路军队进展都很顺利,到年底,攻克福州,进围延平。洪武元年(公元1368年)正月,城中军仗库发生爆炸,朱元璋军队趁机攻城,一举成功,陈友定父子被送到应天处死。
平定两广的方略,亦由朱元璋亲自制定,也是兵分三路:第一路由杨璟率领,攻取广西;第二路由陆仲亨率领,由韶州直捣德庆;第三路就是刚刚平定了福建的水师,由廖永忠率领,从海路攻取广州。此时广东掌握在何真手里,他是东莞人,本为小吏,见兵荒马乱,便聚众自保,效忠元朝,官至广东行省左丞。他是个善于审时度势的人,听说廖永忠大军已到潮州,便派人赶到军前,献上印章图籍户口,奉表归降,于是广州及其附近州县不战而下。朱元璋对何真善识时务十分赞赏,召他入京,授以官职,后封为东莞伯。廖永忠率所部沿西江入广西,配合第一路军行动。到洪武元年(公元1368年)七月,广西全境亦被平定。
浙东、福建、两广全部平定,南部中国除四川、云南外,都归入朱元璋的版图,他再无后顾之忧,可以集中人力物力支援北伐军了。在北伐军出发前,朱元璋曾召集诸将商讨作战方略。有的人认为应长驱北上,直捣大都(今北京),大都既克,再乘胜攻取其他地方,必将势如破竹。朱元璋不同意这种意见,他认为中原虽动荡不宁,但实力仍不可小视,大都久为都城,防守必固,倘若长驱直抵大都,而不能很快攻破,则顿兵于坚城之下,远离后方,粮饷不继,元朝援兵四集,处境将很不利。他决定还是采用对付张士诚的老办法,稳扎稳打,步步推进,并制定了具体的作战步骤:先取山东,去其屏障;回师河南,断其羽翼;然后西拔潼关,占据其门户。待大都陷于孤立无援之境,再进兵攻打,可以不战而克。攻克大都后,鼓行而西,云中、太原、关陇可席卷而下。朱元璋的这个计划,即把自己置于不败之地,又抓住了元军不相统属、自相残杀、可以各个击破的弱点,的确是思虑周密的万全之策。
吴元年(公元1367)十月二十一目,徐达、常遇春率领25万大军北上。临行前,朱元璋召集诸将,再三申明纪律。接着,朱元璋又发布讨元檄文,提出了“驱逐胡虏,恢复中华,立纲陈纪,救济斯民”的口号。徐达很好地执行了预定作战计划,从出兵时起到洪武元年(公元1368年)正月,用了三个多月时间,平字了山东。在接下来的三、四月间,出兵攻取了河南,并占据了潼关。五月,朱元璋亲自到汴梁,大会诸将,部署攻取大都的作战行动。徐达询问倘若元顺帝向北逃窜怎么办,朱元璋说:“元朝的兴亡都是天数,若元主北逃,不必穷追,待其出塞之后,只要固守疆界、防其来侵就行了。”看来,朱元璋知道若活捉了元顺帝,也不好安置,有意为他留一条去路。在集合好军队后,徐达于闰七月初二挥师北上,元军望风而逃,二十八日占领通州,进逼大都城下。这日晚,元顺帝率后妃、太子和朝臣们开健德门出城,经居庸关,逃向草原。八月初二日,徐达率领大军入城,元朝正式灭亡。大都既克,徐达等按照原先的部署,挥师西向,到洪武二年(1369年)八月,山西、陕西全部平定。
洪武四年(公元1371年)正月,朱元璋下令出兵四川,消灭夏政权。夏的建立者明玉珍是随州(今湖北随县)人,薄有家前,后参加徐寿辉起义军,率部进入四种。徐寿辉被陈友谅弑杀后,他以兵扼守瞿塘,自立为陇蜀王,后正式称帝,国号大厦。龙凤十二年(公元1366年)二月,当朱元璋正在经略淮东时,明玉珍病死,子明升继位,年仅十岁。朱元璋派出的伐蜀大军兵分两路,南路由汤和等率领,走水路自瞿塘攻重庆,北路由傅友德等率领,走陆路自陕西趋成都。夏国以重兵把守瞿塘,水路受阻,陆路却趁北边防务空虚长驱南下,并将攻城略地的消息写在木牌上,投入长江。水路得到消息后,从间道绕到夏军背后,两面夹攻,突破瞿塘天险。夏军节节败退,明军很快就逼近重庆,有人劝明升逃往成都,明升的母亲说:“事势如此,纵往成都,不过延命旦夕。”二十二日,明升奉表投降。到八月,全蜀悉平。
四川纳入版图,为平字云南创造了条件。朱元璋很希望云南能源战而下,所以迟迟没有发兵,反复派人诏谕,但统治云南的元朝宗室梁王把匝刺瓦尔密坚决不肯归降,仍与逃到草原的元顺帝保持联系,坚守臣节。洪武十四年(公元1381年)九月,朱元璋命令傅友德等率兵平定云南,到次年正月,即抵达昆明,梁王率家属等投滇池自杀,各少数民族首领望风归附。
统一天下的最后一步是平定东北。东北地区实力最强的武装力量是纳哈出的军队,他屯住在辽河北岸的金山,有兵20万。此人曾在太平任职,朱元璋攻克太平时,将他俘虏,后释放。明朝建立后,朱元璋觉得自己有放他北归之恩,与他也算老相识了,多次写信劝他归顺,纳哈出置之不理,还经常骚扰明军控制的辽东。朱元璋忍无可忍,在进行了充分的准备后,于洪武二十年(1387年)正月命冯胜等率军讨伐纳哈出。五月,明军在取得几次大捷后,到达金山,纳哈出见大势已去,只得归降。
经过长期的奋斗,朱元璋终于完成了统一全国的宏伟大业。