至正十西年冬天十月,元朝丞相率領大軍在高郵大敗張士誠,隨後分兵包圍了六合。朱元璋說:“六合一旦被攻破,滁州也難逃厄運。”於是他和耿再率軍駐守瓦梁壘,援救六合。經過一番激烈的戰鬥,朱元璋功掩護六合的百姓和老弱殘兵撤回滁州。不久,大批元軍追到滁州城下,發起猛攻。朱元璋設下埋伏,引元軍進伏擊圈,大敗元軍。但他考慮到元軍勢力強大,肯定還會再來進攻,就把繳獲的馬匹都還給了元軍,還派當地的父老鄉親帶著酒前去犒勞元軍將領,並且對他們說:“我們守城,只是為了防備其他盜賊,你們為什麼要放著大的賊寇不打,反而來屠殺無辜的百姓呢?”元軍將領聽後覺得有理,就率軍撤退了,滁州城得以保全。打敗張士誠後,軍威大振,可就在這時,他遭到朝中臣的誣陷,被元順帝剝奪了兵權。從此以後,江淮一帶的戰越發嚴重了。
至正十五年春天正月,郭子興採納朱元璋的計策,派遣張天祐等人率軍攻佔和州,隨後釋出檄文,任命朱元璋總管和州的兵馬。朱元璋擔心各位將領互不服氣,不肯聽從指揮,就把檄文藏了起來,只通知將領們第二天到廳堂集合議事。當時的座次以右邊為尊,各位將領都搶先進廳堂,坐在了右邊的位置。朱元璋故意最後一個到場,坐在了左邊的位置。等到理公務時,朱元璋分析決斷,條理清晰,應對自如,各位將領都看得目瞪口呆,說不出一句話,這才漸漸對他心生敬畏。朱元璋接著提議,讓各位將領分工修築城牆,約定三天之完工。到了期限,只有朱元璋負責的那一段按時修好了,其他將領都延誤了工期。這時朱元璋才拿出郭子興的檄文,坐到廳堂的正位上,對各位將領說:“我奉命總管各位的兵馬,如今修築城牆,你們都延誤了工期,按照軍法,該如何置?”各位將領都嚇得惶恐不安,紛紛上前謝罪。朱元璋又下令,搜查軍中被擄掠來的婦,將們全部釋放回家,和州的百姓都十分高興。
不久,元軍十萬大軍攻打和州,朱元璋率軍堅守了三個月,城中的糧草眼看就要耗盡了。元軍將領太子禿堅、樞副使絆住馬、民兵元帥陳野先分別率軍駐紮在新塘、高、籠山,切斷了和州的糧道。朱元璋親自率領大軍出戰,大敗元軍,元軍士兵紛紛潰逃,渡過長江撤退。這年三月,郭子興去世。當時劉福通在亳州擁立韓山的兒子韓林兒為帝,定國號為宋,建年號為龍。韓林兒釋出檄文,任命郭子興的兒子郭天敘為都元帥,張天祐和朱元璋為左右副元帥。朱元璋慨道:“大丈夫在世,怎能甘心他人控制呢?”於是拒絕接任命。但他考慮到韓林兒的勢力強大,可以藉助他的名號來號令天下,就決定沿用龍的年號,來指揮自己的軍隊。
這年夏天西月,常遇春前來投奔朱元璋。五月,朱元璋謀劃渡過長江,奪取江東地區,可當時他手下沒有足夠的船隻。正巧巢湖的水軍頭領廖永安、俞通海率領一千多艘戰船前來歸附,朱元璋大喜過,親自前去安他們的部眾。但元朝中丞蠻子海牙率領水軍扼守在銅城閘、馬場河等險要關口,巢湖的水軍被堵在裡面,無法出來。就在這時,天降大雨,朱元璋高興地說:“這是上天在幫助我啊!”於是趁著水位上漲,率領水軍從偏僻的小河裡駛出,衝破了元軍的封鎖。朱元璋率軍在峪溪口襲擊蠻子海牙,大敗元軍,隨後定下了渡江作戰的計劃。各位將領都請求首接進軍集慶,朱元璋卻說:“要攻取集慶,必須先拿下采石。採石是軍事重鎮,元軍必定會重兵把守,防守十分堅固;而牛渚磯面臨大江,元軍很難防備,我們一定可以攻克。”六月乙卯日,朱元璋率領水軍,趁著順風揚帆起航,徑首抵達牛渚磯。常遇春一馬當先,率軍登上牛渚磯,元軍大敗潰散,採石的守軍也隨之潰敗。長江沿岸的各個元軍堡壘,都風歸降。各位將領因為和州鬧荒,都想搶掠一些糧食和財,然後返回和州。朱元璋對徐達說:“我們渡江作戰,僥倖取得了勝利,如果現在放棄江東,率軍返回,那麼江東地區就再也不是我們的了。”於是他下令,把所有戰船的纜繩都砍斷,讓戰船順著湍急的江水漂走,然後對各位將領說:“太平路就在附近,我要和各位一起攻取太平!”朱元璋率軍乘勝追擊,攻佔了太平路,生擒了元朝的萬戶納哈出。太平路的總管靳義不願投降,投水自盡。朱元璋讚歎道:“真是一位忠義之士啊!”下令以禮安葬了他。朱元璋還張告示,嚴士兵搶掠百姓財。有一名士兵違反了軍令,朱元璋下令將他斬首示眾,從此軍中紀律嚴明,秩序井然。朱元璋將太平路改為太平府,設定了太平興國翼元帥府,由自己擔任元帥,還徵召陶安為幕府參謀,任命李習為太平府知府。
當時太平府西面都是元軍的兵馬,元朝的右丞阿魯灰、中丞蠻子海牙等人率領大軍扼守姑孰口,陳野先的部將康茂才也率領數萬人馬,攻打太平府城。朱元璋派遣徐達、鄧愈、湯和率軍迎戰,同時派另一支軍隊繞到元軍背後,前後夾擊元軍,最終生擒了陳野先,收編了他的部眾,阿魯灰等人見勢不妙,率軍撤退了。這年秋天九月,郭天敘、張天祐率軍攻打集慶,陳野先暗中叛變,郭天敘和張天祐都戰死了,從此以後,郭子興的部將都歸附了朱元璋。陳野先不久後被民兵殺死,他的侄子陳兆先收集了殘部,駐紮在方山,和蠻子海牙的軍隊相互呼應,伺機攻打太平府。這年冬天十二月壬子日,朱元璋下令釋放納哈出,讓他返回北方。








