元顺帝自1368年北逃
元上都遗址后一直逗留在明的边境地区,并二次南侵以图夺回原来的大都复辟。1369年六月,元惠宗迁都应昌府,和位于
燕山的大都不过两三天的马上路程,形成了实在的军事威胁。
根据当时元惠宗在应昌府,
王保保在
定西市的情况,决定‘分兵为二道:一令大将军自
潼关县出
西安市捣定西,以取王保保(即扩廓帖木儿);一令左副将军出居庸关入沙漠以追元主,使其彼此自救,不暇应援。况元主远居沙漠,不意吾师之至,为孤豚之遇猛虎,取之必矣,事有一举而两得者,此是也。’并命
大同市指挥
金朝兴、大同都督同知
汪兴祖(即张兴祖)等先期进攻
山西省、
河北省北部作为佯攻吸引
北元兵力。
三月二十九日,徐达率主力攻到
定西市,并于四月八日在沈儿峪(在定西北)大败
王保保。扩廓帖木儿逃往
和林格尔县(今蒙古
乌兰巴托西南哈尔和林)。四月丙戌(
儒略历5月23日),
元顺帝因
痢疾死于应昌府,终年五十一岁,在位三十六年。其子爱犹识理达腊在和林继位为
孛儿只斤·爱猷识理答腊。五月初一日,
徐达派
邓愈去招抚
吐蕃,自己则率主力南攻克陕西略阳、州(今
勉县)、
兴元(今
汉中市)。五月二十三日,徐达一军回到
西安市。
另一路
李文忠一军出居庸关经
野狐岭之战,在五月初于白海骆驼山击败
北元太尉蛮子、平章沙不丁朵耳只八剌,再于开平(今内蒙古多伦西北)击败北元平章上都罕。五月二十一日,李文忠大败应昌府的北元守军,攻克这个一个月前还是首都的北元重镇。在回师途中,李文忠还攻克了兴州(今
滦平县),北元军民3.69万余人投降;在红罗山(今
锦州市境内),北元军民又有6000余人投降。