五、攻克大都
自徐達北伐軍進占河南以後,中原地區盡為明軍占領。北伐軍另一支繼續西進,追殲逃竄到陝州的敵人。此時,山東已被北伐軍占領,打破了元朝在山東的屏蔽;河南也全為北伐軍控製,使元朝羽翼折斷;潼關已被侵占,敵人西逃陝西,據其戶檻的形勢已經實現。朱元璋為了布置進一步攻克元大都的戰略路線,於洪武元年(1368年)四月二十四日從應天來到汴梁。六月,召徐達等諸將在軍前計議,為何北伐大都。
在當時的形勢下,朱元璋認為必須停止西進,乘勝迅速揮師北上,以攻取元大都,同時防止在山西的擴廓帖木兒和在陝西的李思齊聯合起來共同對付明軍。
七月,朱元璋將要離開汴梁時,再一次強調北克大都時,必須嚴明軍紀,注意策略。
閏七月,朱元璋返回應天。徐達遂與常遇春會師河陰。汴梁由副將軍馮宗異留守。徐達檄都督同知張興祖、平章韓政、都督副使孫興祖、指揮高顯等將益都、濟南、徐州之師,在東昌會師,一同率諸軍北上,連連攻下衛輝、彰德等地、又下磁州、廣平,邯鄲投降,攻克趙州,進次臨清。徐達派人到東昌,督促張興祖率軍會師,邀請駐守樂安的華雲龍指揮帶兵來臨清會師,平章韓政、都督副使均率師會於臨清。徐達率幾十萬大軍,以馬、步、舟三路大軍齊發,改為沿運河繼續北上。徐達師抵達德州,與常遇春、張興祖及指揮高顯等皆會合。接著,徐達軍攻破長蘆、青州,師至直沽,敵軍海舟七艘。常遇春、張興祖各率舟師,並河東西以進,步騎在陸上行軍。元丞相也速等在海口(今天津)設防,看見明軍的氣勢,望風喪膽,軍士一時奔逃、潰散,元都上下大為震驚。徐達大軍水陸並進到河西預備,打敗元平章俺普達朵耳隻進巴,擒獲知院哈刺孫等三百餘人。徐達進兵至通州,駐紮在了通惠河東岸,常遇春駐紮在了西岸。通州是元大都的東部門戶,也是其重要的交通要道,想要攻克大都,就必須首先攻下通州。而當時通州由元朝的嫡係精兵以元將五十八國公率領敢死隊堅守。在攻取通州的戰略上,大多數人主張強攻,而指揮郭英主張設伏兵、誘敵深入,以求智殲。第二日天氣大霧,郭英以千人埋伏在道旁,自己率精騎3000直攻通州城下,元將五十八國公果然率萬餘敢死隊前來迎戰,從兩翼而包抄。戰許久,明軍佯裝不敵,元兵乘勝追擊,元軍陷入徐達布置好的軍事“口袋”,全部殲滅,通州大捷,徐達消滅了元大都的主力部隊,占據了通州這個戰略要地。元順帝聽說通州陷落。
八月二日,大都城的陷落,宣告了元朝統治的結束。朱元璋改大都為北平,意在平定北方,仍以應天為南京。