朱元璋起兵消灭陈友谅和张士诚后,从1367年10月开始,朱元璋就开始统一的步伐,从南京出发北伐元朝。第一次北伐的主将是徐达和常遇春,共领兵25万。3个月后占领山东全境。然后西进河南,在河南遇到元军主力阿鲁温。双方在洛水大战,歼敌5万,阿鲁温被俘。继而攻克潼关、华州。1368年5月,朱元璋亲自誓师汴梁,议取元大都。7月徐达占领大都周围,元顺帝弃城而逃。8月2日,明军占领大都。

真正的大战还在后头。名将王保保率领10余万元军在山西,纳哈出20余万大军在辽东,云南还有10几万元军。12月,徐达率领明朝骑兵5万余人与王保保交锋于太原城下,王保保弃师而逃。明军歼灭元军4万余人,常遇春一路北追到欣州,王保保10余万大军全军覆没。次年徐达西进陕西,元将李思齐投降。1369年6月,常遇春李文忠领8万步兵,1万骑兵继续进攻上都。连克锦州、大兴州等等,直逼上都,元顺帝逃跑,俘虏元朝丞相脱火赤。

不幸的是常遇春在回师途中病故,李文忠升任主帅。与此同时,徐达继续向西攻击甘肃。攻克兰州。王保保重新集结了10余万大军围攻兰州。1370年3月,朱元璋派出4路大军,徐达、冯胜、邓愈、汤和共计40万大军进攻定西。4月王保保大败,歼敌84000人。5月,李文忠出居庸关,攻克应昌,元朝皇室成员全部被俘,只有元顺帝的儿子逃到了和林(乌兰巴托),与王保保重新汇集。1372年,徐达、李文忠、冯胜各领兵5万,分东中西三路进军和林。不过中路徐达轻敌冒进,损失较大,东路李文忠也因粮草不济退兵。西路冯胜的副将傅友德却7战7胜,大举扫荡漠北。

这一次是朱元璋前期北伐的终点,双方在北方战场进入僵持阶段。1377年朱元璋派大将邓愈西征吐蕃,邓愈势如破竹,连战连胜,追敌直至昆仑山,歼敌数万人,降服数国,为明朝拓地千里。1379年。大将沐英、傅友德统兵15万进军云南,元朝残余势力负隅顽抗。至1385年,共歼敌20余万,云南平定。1387年北路战事又起,朱元璋派大将冯胜、傅友德、蓝玉共领兵20万进攻辽东。连战连胜,5月元太尉纳哈出率元兵20万投降明朝。1388年蓝玉领兵15万远征漠北,在捕鱼儿海(贝加尔湖)大破元军10余万,王公贵族全部被俘。元朝正式宣告灭亡。这一战还缴获了流传千余年的传国玉玺。