平定四川后,明军便能转过身来重新对付蒙古人了。明军在1370年对蒙古人的胜利特别具有决定性意义,它使中国人自10世纪初以来第一次恢复了直至长城的统治。此后,明府政即对蒙古的元军残余势力采取外交攻势。其目标是要蒙古人承认明朝继承了天命,言外之意是元朝曾经合法地承受过天命。
在这方面的最初步骤是马上准备编纂《元史》(1369年);它对察罕帖木儿的阿谀之词显然是说给仍然强大的扩廓听的。俘获爱猷识里达腊的嗣子买的里八剌之举,使得明政府有可能把他当作反对元朝新帝的有用的杠杄。明朝廷在1370年有两次送信给爱猷识里达腊劝他归顺新皇朝,并威胁说,如果他不听话就要侵入蒙古。这两次外交活动都没有取得成效。扩廓过去就瞧不起爱猷识里达腊,但是他不想背弃对元王朝本身的忠诚,因此爱猷识里达腊甚至没有给予答复。
在拿下四川以后,明帝于1372年发动了一系列军事行动,以期摧毁蒙古人。号称有10万人的扩廓帖木儿的军队这一次成了主要的攻击目标。令人望而生畏的、从来没有打过败仗的徐达调集了15万骑兵,并且奉皇帝之命出山西之雁门关,再向西北行军750英里跨越戈壁沙漠径趋哈尔和林。另有两支较小的军队交给了冯胜和李文忠带领。冯胜的任务是去平息至今尚未归顺的甘肃走廊西部诸府。
李文忠则是从应昌前去降服还留在内蒙和满洲的更多的蒙古人。为了支持李文忠的军事行动,吴禛被派负责经海路运给养到辽东半岛徐达的军队在初春季节横穿了戈壁,在外蒙古搜寻扩廓帖木儿的部队。4月23日,青年英俊的都督蓝玉的部队在土剌河附近找到了一部分蒙古军队,并打败了他们。扩廓在以后一个多月避免作战。当这两军在6月7日相遇决战时,徐达遭到惨败,损失军队“无虑数千万”。
史料未细谈这次战斗或准备这次战斗的部队调动情况,但是按情况可以知道,蒙古人的取胜是照他们的传统打法打的:即让敌人搞无效果的行军来消耗敌人,然后在自己选择的时间和地点打响战斗。徐达匆匆忙忙地从外蒙古撤退了他的残余军队李文忠的远征也进行得不顺手,虽然不那么引人注意。李文忠在7月初到达外蒙古。中国军队在土剌河附近与蛮子哈剌章的蒙古军遭遇,明军追至鄂尔浑河时,蒙古人突然掉头抗击,并且出奇兵迎战。明军士兵屠宰了他们带来作为□粮的牲口,在临时筑起的防御工事中抵抗了三天。
后来蒙古人撤退了,李文忠才把他的部队撤回中国。李文忠照样大言不惭地吹噓他的胜利但他舅父对他甚至比1370年时更不感兴趣了。8月份,这时作为李文忠部下的汤和也被打败了。在甘肃,冯胜进军远至敦煌,打了许多胜仗,俘获了许多牲口。甘肃走廊从此一直归明王朝统治。虽然在永乐时期,明帝曾率领规模大得多的远征军进入外蒙古,但1372年的这次失败的战役在明朝这方面的努力中实在是最重要的一次。从外交意义上看很明显的是,朱元璋在1372年企图使自己成为整个元朝政治传统的继承人,即他既要继承游牧区,也要继承汉人聚居地区。
可以这样认为,这是保护中国本部不受草原攻击的唯一办法;后来的清王朝诸帝便很成功地实现了这一目标。1372年的失败使朱元璋的雄心受到抑制,放弃了并吞外蒙古的目标。在后来的15年中,明朝对北方边境的政策是在当地取守势,偶尔在长城附近搞点报复活动。甚至在1387年重新挑起大规模战斗时,也并无迹象表明它要永久统治外蒙。
1374年,朱元璋把买的里八剌王子从他备受优遇的南京遣回到了他父亲身边。可是,当爱猷识里达腊1378年死去以后,继承人却是他的兄弟脱忽思帖木儿,而不是这位颇具亲明倾向的年轻王子。元朝统治者一直坚持他们是中国蒙尘的皇帝,但是在此期间,他们对外蒙古部落社会的实际控制正在不断地削弱。