洪武元年八月初,明軍攻克河北及大都(今北京)後(參見明攻河北、大都之戰),明太祖朱元璋于八月十五日命征虜大將軍徐達、副將軍常遇春率軍攻取山西,命副將軍馮宗異、偏將軍湯和與平章楊璟率部從征。此時盤據在山西的太原守將擴廓帖木兒,因長期內訌,已成為強弩之末,且在元順帝北逃時,奉命出兵雁門關,經保安州(今河北涿鹿)、居庸關至大都。根據客觀形勢的變化,徐達及時制定了攻取山西的戰略方針,指出︰「王保保(即擴廓帖木兒)率師遠出,太原必虛,北平孫都督(孫興祖)總六衛之師,足以鎮御,我與爾等乘其不備,直抵太原,傾其巢穴,則彼進不得戰,退無所依,此兵法所謂批亢搗虛也。若彼還軍救太原,則已為我牽制,進退失利,必成擒矣。」遂分兵兩路,北路作為主力,由河北徑取太原,南路作為策應,由河南北向,會師太原,形成南北合圍之勢。北路由徐達親自領軍,一路連克保定、真定(今河北正定)、井陘、平定、壽陽。十一月二十三日,進抵榆次。遣使令南路軍迅速北進,夾擊太原。南路由馮宗異、湯和率師于十月渡河北上,相繼攻克武陟(今屬河南)、懷慶(今河南沁陽)、澤州(今山西晉城)。初卞日,攻取潞州(今山西長治)時,接到徐達迅速北進的命令,遂日夜兼程北進。擴廓帖木兒率軍進至保安州,獲悉明軍西攻太原,揮師回救,兩軍在太原附近遭遇。徐達率兵夜襲,大敗元軍,擴廓帖木兒西逃。明軍于十二月初一日攻取太原,乘勝分兵取平遙、介休、盂州(今山西盂縣)、管州(今山西靜樂)等地。南路軍于洪武二年(1369年)元月初五日與徐達會師太原。十九日,命常遇春攻取大同,二月初七日明軍進抵城下,元守將棄城而逃,遂克大同,山西平定。元中原殘部,從此被逼到陝、甘一隅。
明洪武元年(1368年)五月至八月,明北伐滅元。
在明軍攻佔山東、河南以及潼關以後,元朝大都(今北京)已經處于明軍的弧形包圍圈中,攻取大都的條件業已成熟。洪武元年五月二十一日,明太祖朱元璋親抵前線汴梁(今河南開封),與諸將商討攻取元都之決策。他采納征虜大將軍徐達提出的直搗元都的主張,並據圖指示︰「北土平曠,利于騎戰,不可無備,宜選偏裨提精兵為先鋒,將軍督水陸之師繼其後,下山東之粟以給饋餉,由鄴(今河北臨漳西南)趨趙(今河北邯鄲),轉臨清而北,直搗元都,彼外援不及,內自驚潰,可不戰而下。」為使這一戰略意圖能夠很好地得以實現,他還將親自繪制的《征進陣圖》交給徐達。六月初,徐達令河南各軍向河陰(今河南武陟西南)集結,各衛糧船由濟寧,保障後勤供應。七月二十九日,他又遵朱元璋之命,令都督同知張興祖、平章韓政、都督副使孫興祖、指揮高顯等率益都、徐州、濟寧之師集結于東昌,等待與河南諸軍會師北進。閏七月初二日,明軍出師汴梁(今河南開封),一路勢如破竹,連克衛輝(今河南汲縣)、彰德(今河南安陽)、磁州(今河北磁縣)、邯鄲、廣平(今均屬河北)。十一日至臨清(今屬山東),遂令集結于東昌之師來會,且令參政傅友德開通陸路,都督副使顧時開通河道,于十五日水陸兩路並進。師至德州,會征虜副將軍常遇春、張興祖、高顯、毛驤、程華等師北進。二十日下長蘆(今河北滄州)、青州(今河北青縣及天津靜海等地),二十三日至直沽(今天津),二十五日敗元軍于河西務(今天津市武清東北)。二十八日克通州(今北京通縣)。元順帝見大勢已去,遂于當日夜三鼓攜太子、後妃出建德門,由,居庸關逃往上都開平(今內蒙古多倫西北)。八月初二日,徐達等進師攻取元都,至齊化門,令將士填壕登城而入。徐達本人親自登上齊化門樓,殺死元朝監國宗室淮王帖木兒不花和右丞相張康伯等人,並俘諸王子6人,封存府庫圖籍寶物以及故宮殿門,令兵守衛。命令士卒不得侵暴搶掠,居民各安其業。同時遣將巡邏古北諸處關口,又命指揮華雲龍經理大都,新築城垣。
點評︰攻取大都之役的勝利,從根本上摧毀了元朝的統治,使殘存在各地的元軍陷入群龍無首的境地,為明太祖朱元璋最終統一中國,奪取了戰略上的絕對優勢。
明洪武二年(1369年)二月至十二月,在明北伐滅元之戰中,與元軍在陝西和甘肅等地進行作戰。
明軍攻克山西以後,北方廣大地區已盡為明朝所控制。惟陝甘方面尚為元軍10余萬人所盤踞︰李思齊駐鳳翔,張思道駐鹿台(今陝西高陵西南)以拱衛奉元(今陝西西安),擴廓帖木兒則駐扎于塞外。二月二十六日,征虜大將軍徐達以副將軍常遇春和馮宗異為先遣部隊渡黃河攻取陝西。
三月初一日,徐達率大軍自蒲州(今山西永濟西南)渡河,進據蒲城,逼降元鄜城(今陝西洛川境內)守將施成,張思道聞訊逃往慶陽(今屬甘肅),明軍不戰而佔有鹿台、奉元。十二日,常遇春率部進逼鳳翔,李思齊逃往臨洮(今屬甘肅),鳳翔又不戰而克。時參政傅友德亦已攻克鳳州(今陝西鳳縣)。
四月二日,徐達集諸將于鳳翔,討論進攻方向。徐達根據李思齊和張思道的不同兵力、臨洮和慶陽的地理形勢,本著先易後難的原則,決定先攻臨洮而後進取慶陽。其後明軍西向,連克隴州(今陝西隴縣)、秦州(今甘肅天水西)、伏羌(今甘肅甘谷)等地。十一日,師至鞏昌(今甘肅隴西),兵分兩路,一路由馮宗異率領,進取臨洮;一路由都督同知顧時率領,進取蘭州。十三日,兩路皆捷,臨洮、蘭州悉入明軍,李思齊被迫投降。然後徐達揮師東向進攻慶陽,沿途相繼攻克安定州(今甘肅定西)、會州(今甘肅會寧)、靖寧州(今甘肅靖寧)、隆德、平涼、涇州(今甘肅涇川)等地,進逼慶陽。十五日,慶陽守將張良臣降而復叛,徐達于二十一日對慶陽實施四面圍攻,展開長達三個月之久的攻城戰。
為解慶陽之圍,擴廓帖木兒于七月底八月初兵分三路反擊明軍︰一路攻大同,欲奪回太原;一路攻鳳翔;一路攻原州(今甘肅鎮原)、涇州,給明軍造成了很大的威脅,整個戰局為之一變。明軍被迫暫取守勢,一面分軍扼守各處要點,一面調集兵力增援慶陽。至八月二十一日,慶陽城中糧餉斷絕,外援無望,其部將開城迎降,張良臣投井自盡。攻克慶陽後,各路元軍亦被擊退,陝甘地區的故元勢力基本上被消滅。十二月底,明軍又相繼擊潰擴廓帖木兒派往大同、鳳翔和蘭州方面的軍隊,徹底平定陝甘。
點評︰此戰進軍路線,本應自鳳翔兵分兩路,一路向西北進攻慶陽,一路向西進攻臨洮。而徐達卻采取了一路回線的進攻路線,此乃根據當時的軍事形勢,而創作的一個出敵不意之佳作。
1369年,元將庫庫特穆爾得知明徐達軍自陝西南還,乃于12月率兵襲擊蘭州城。明守將張溫出戰失利,元軍遂圍蘭州城。張溫針對元軍的攻城特點,一面堅守,一面乘敵遠來疲憊,率軍出擊。元軍圍城數月,乘梯攻城,多次失利,而明軍多次出擊,卻屢屢得手,給攻城元軍以沉重打擊。最後,迫使庫庫特穆爾部撤圍而去。
明洪武四年(夏開熙五年,1371),朱元璋為統一全國遣軍攻滅夏國的作戰。
戰前情況及作戰部署
元至正二十三年(1363),農民起義軍將領明玉珍在四川稱帝,立國號夏,改元天統,建都重慶。二十六年,明玉珍病死,其子明升繼位。洪武元年,朱元璋在取江南、定中原、克元都後,遣使赴川招降;又向明升借道取雲南,皆遭拒絕,遂決定進兵四川。
洪武四年正月,朱元璋命中山侯湯和為征西大將軍,江夏侯周德興、德慶侯廖永忠為左、右副將軍,及營陽侯楊璟等,統舟師經歸州(今湖北秭歸)溯長江而上,趨重慶;命潁川侯傅友德為征虜前將軍、濟寧侯顧時為副將軍,及都督僉事何文輝等,統步騎兵10萬經陝西南下,從陸路趨成都;命鄧愈往襄陽(今屬湖北襄樊)訓練兵馬,督運糧餉。臨行,朱元璋召傅友德面授機宜︰「蜀人聞我西征,必悉精銳東守瞿塘,北阻金牛,以扼我師。