当徐达在沈儿峪和王保保对垒的时候,正是李文忠以另一支精兵深入沙漠,希望捕捉元顺帝的时候。
李文忠是朱元璋的外甥,年轻胆壮,战功颇多。北伐期间,他以偏将军的名义,隶属副将军常遇春的麾下。常遇春在洪武二年(1369年)六月打下开平(元朝的上都),却不曾捉住元顺帝。次月,常遇春在回师的中途,暴卒于柳河川,常的部队便完全归李文忠指挥。
朱元璋在洪武三年正月,升李文忠为“左副将军”,再度出居庸关。李文忠在五月间到达开平,由开平转向东北,走了三百多里,打元朝的应昌路。事先,他听说元顺帝躲在应昌;其后,他在快到应昌之时,又听说元顺帝已死,元顺帝的太子爱猷识理达腊继位称帝,仍在应昌。
五月甲辰日(另一说是癸卯日),李文忠打进应昌,活捉了爱猷识理达腊的皇后、妃子、宫女、皇子买的里八剌等,与朝廷的大官、卫兵,还缴获了十五颗宋元两朝的玉玺与金印。爱猷识理达腊本人不曾被捉住,他向着和林(库伦西南)的方向逃走。李文忠带了骑兵追,追到北庆州(林西县西北),追他不上。李文忠回师,经过兴州(滦平县西南)与红罗山,收降蒙古军民五万多人。
洪武五年正月,朱元璋决心大举,派徐达、李文忠、冯胜(冯宗异)各领五万骑兵,分三路出塞,搜捕爱猷识理达腊。徐达出雁门关,三月间连败王保保于野马川及库伦之南的土剌河(土拉河),推进到“岭北”,与王保保对垒,死了一万多人,功败垂成。这是徐达生平所吃的唯一败仗。
李文忠出居庸关,在六月间到达土剌河,元将哈剌章退守阿鲁浑河(鄂尔浑河)北岸,李文忠据河死战,侥幸战胜,但伤亡极多。哈剌章再退,退到骋海(一作“称海”),李文忠追到骋海。元军的援兵越来越多,李文忠只得班师。在敌人境内班师,是不容易的事,李文忠除了抵御追兵与伏兵以外,又一度迷路,一度缺水,艰苦备尝。
冯胜由兰州出发,经过凉州(武威)、甘州(张掖)、肃州(酒泉),受元将上都驴之降;推进到亦集乃路(额济纳,即居延设治局),受元将卜颜帖木儿之降;又推进到别驾山,吓得元将朵儿只班望风而逃。冯胜全师而退,俘获了十几万牛羊马匹骆驼。他的麾下傅友德,分兵西进,取了瓜沙州(敦煌)。
次年,洪武六年,王保保反攻,来到了长城边,狠狠地在抚宁与瑞州(绥中)烧杀一顿,被徐达击败于长城以南的怀柔。
洪武七年,李文忠又去热河,打下高州(平泉西北)的大石崖与毡帽山,杀了元朝的宗王朵朵失里,鲁王桑哥八剌(或他的儿子),俘虏了不少人畜。
洪武八年,王保保在和林(库伦西南)病死。三年以后,爱猷识理达腊病死,被北元的大臣们谥为“昭宗”。元顺帝之被称为顺帝,是朱元璋送他的谥法。北元自己的谥法,是“惠宗”。
继承爱猷识理达腊的,是弟弟脱古思帖木儿。
朱元璋在洪武十三年,派沐英经由宁夏,翻过贺兰山,穿过沙漠,到了和林,活捉北元的丞相之一,国公脱火赤,枢密院知院爱足。
洪武二十年,朱元璋又派冯胜去辽东,对付那驻扎金山(开原西北),拥有二十万兵的元朝开国元勋木华黎的苗裔,纳哈出。冯胜带去的兵,也有二十万。麾下的猛将也不少,包括傅友德与蓝玉。结果,不必交锋,便受了纳哈出之降,送纳哈出到应天(南京)。朱元璋封纳哈出为海西侯。(其后,纳哈出随傅友德征云南,病死在中途。)
洪武二十一年,爱猷识理达腊的弟弟、北元的第三个君主脱古思帖木儿南下,住在捕鱼儿海(热河经棚县西北的达尔泊,不是贝加尔湖)。蓝玉带十万精兵,以迅雷不及掩耳的方式去突袭,杀了几千人,俘虏了七万多,但不曾捉得了脱古思帖木儿。
脱古思帖木儿朝着和林的方向奔逃,在土剌河附近遭遇到叛臣也速迭儿拦截,只剩下十六人,再逃,被也速迭儿赶上,勒死。
此后,北元内乱,朱元璋也不再对北元用兵。要到了明成祖的时候,明朝和北元之间才重新有战事。
《明史·鞑靼传》说,在脱古思帖木儿以后,“部帅纷籋,五传至坤帖木儿”。事实是,“三传”至坤帖木儿。《明史》的撰述人,以为蒙古人其后不久便放弃了“元朝”的国号,而自称“鞑靼”,这也是错误的。蒙古人诚然不再用汉文与汉人的官名,然而对于“大元”的传统,却未忘怀。