因此王保保集合主力,北出雁门,经保安州、居庸关,向大都(北平)进。
明将徐达等人认为北平有孙兴祖据守,且有坚城,不足为虑,王保保倾巢而出,冀宁(太原)空虚,明军主力均在太行东南部真定、彰德一带,离冀宁很近,于是采用“批亢捣虚”
的战术直取冀宁。
王保保已行至保安州,听说明军动向后果然慌忙回救冀宁,明军决定夜袭王保保,再加上有其部将豁鼻马投降为内应,奇袭行动十分顺利。
王保保当晚正在读兵书,觉明军袭来以后仓促奔出营门,穿了一只靴子就跨马逃走,只有十八骑跟从,其余4万人马都做了明军的俘虏。
这是至正二十八年(1368年,洪武元年)十二月的事。
王保保先逃到大同,常遇春带兵追至忻州,不及而还,而后王保保直奔甘肃。
至正二十九年(1369年,洪武二年)正月,元顺帝拜王保保为中书右丞相,并屡次召他入援,但王保保滞留西北,并未奔赴上都与应昌(今内蒙古克什克腾旗),还劝元顺帝尽早弃应昌北逃和林(今蒙古国哈尔和林)。
至正二十九年(1369年,洪武二年)六月,王保保在宁夏声援守护庆阳的元将张良臣,但其所派的几个探子被明军抓住处死,所派将领韩扎儿在攻占原州后又被明军赶走,八月,王保保移向永昌支援庆阳,但庆阳在不久后被明军攻克。
同年十二月,王保保带兵包围了明将张温据守的兰州。
明军派出的援军被王保保全歼,援军将领于光也被杀害。
在这种情况下,明朝立即于至正三十年(137o年,洪武三年)正月开始策划北伐。
在制定进攻方略时,包括徐达在内的所有将领都异口同声地建议大军直扑应昌,逼王保保从兰州撤兵,可见徐达等人都不太情愿直接与王保保交锋。
但明太祖朱元璋力排众议,命令明军兵分两路。
西路由大将军徐达自潼关经西安救兰州,伺机歼灭王保保;东路由左副将军李文忠直捣应昌。这是使元朝“彼此自救,不暇应援”
的方略。
当时王保保虽击溃明朝援军,但无法攻陷兰州,遂移驻安定(今甘肃定西),“纵游兵四出虏掠,民颇被其扰”
。
徐达出师以后,于至正三十年(137o年,洪武三年)四月到达安定,在沈儿峪安营扎寨,与王保保“隔深沟而垒,日数交战”
,徐达命令诸将每夜不断制造噪音骚扰王保保的军营,使王保保的部队每夜不得休息。
数日后的一夜却偃旗息鼓,王保保的部队连日不得休息,于是纷纷昏睡,这时徐达整众出战,大败王保保,生擒其部将严奉先、韩扎儿、李察罕不花等,王保保仅与其妻子数人逃窜,至黄河时得流木以渡,遂出宁夏,直奔和林。
徐达遣都督郭英追至宁夏,不及而还。
明军沈儿峪之战中俘获元朝官吏1865人,将校士卒余人,马匹及大量驼骡驴杂畜。
与此同时,元顺帝驾崩,明将李文忠趁机奇袭应昌,元朝新帝爱猷识理达腊仅以数十骑北逃。
爱猷识理达腊和王保保在和林会合,君臣为了匡复元朝的大业,捐弃前嫌,重归于好。昭宗爱猷识理达腊继续以王保保为中书右丞相,商讨恢复之计。
明朝将王保保视为心腹大患,认为王保保“狡猾狙诈,使其在,终必为寇,不如取之,永清沙漠”
,所以便有了明洪武五年(1372年,宣光二年)的明军三路北伐行动。
15万明军分为三路,中路大将军徐达由雁门直趋和林,摧毁元朝的指挥部;东路左副将军李文忠由居庸关至应昌,然后直扑土拉河,从西北面袭击和林;西路征西将军冯胜出金兰取甘肃,作为疑兵,令元朝摸不清明军的真实目的。
面对明朝一口吃掉北元的企图,王保保沉着应战,他用诱敌之计将明军逐渐引入其纵深。
徐达的先锋蓝玉出雁门后,在野马川遇到元军,追至乱山,取得了小胜。接着到了土剌河(今图拉河),遭遇王保保,王保保佯败后逃走。
他亲自率领小部队且战且退,把明军引向和林,而他手下的大将贺宗哲率领主力在和林以逸待劳。最后王保保与贺宗哲会合,在漠北成功伏击明军,明军损失万余人。
东路军李文忠一直打到胪朐河(今克鲁伦河),接着在土剌河击溃哈剌章等,进至拉鲁浑河(今鄂尔浑河)畔的称海,被元军包围,李文忠勉强撤退,损失惨重。只有西路明军冯胜取得胜利。
这次战役挫败了明军的锐气,保住了北元的命脉,是王保保所取得的最辉煌的战绩。
此役对明朝造成很大的阴影,“自是明兵希出塞矣”
;而元昭宗也高度评价王保保使元朝“几于中兴”
,更加倚重他。
但是王保保回天乏术,难以对明朝动全面攻击,只在宣光三年(1373年,洪武六年)在长城沿线动一些小规模的骚扰。
此后他的事迹无考,史书只记载他在宣光五年(1375年,洪武八年)八月死于“哈剌那海之衙庭”