朱元璋率領部隊渡江,先後順利攻占了采石、太平,正當朱元璋躊躇滿誌地想要攻打金陵之時,元軍開始反撲了。
六月六日,元軍實施反撲,兵分兩路襲擊太平。一路是水軍,由元右丞阿魯灰、中丞蠻子海牙等人統領,用無敵艦隊橫截采石江麵,全麵封鎖姑溪河口,想要截斷朱元璋的退路,將紅巾軍一網打盡;還有一路是陸軍,由地方附元勢力陳野先和康茂才等人帶領,由北向南攻擊太平城。
朱元璋精通兵法,采取各個擊破的策略,先設計打敗陳野先,再派徐達、鄧愈等人帶兵繞到元軍後方,並在襄城橋設下伏兵,前後夾擊陳野先,將其俘虜。
當士兵將陳野先押到朱元璋麵前時,朱元璋連忙上前,親自為其鬆綁,並設下酒宴款待此人。在觥籌交錯之際,朱元璋表示自己願意與他結為兄弟,希望他能夠投降起義軍。陳野先是個牆頭草,他見自己被朱元璋所俘,倘若不投降,勢必性命堪憂,於是便順勢投降了朱元璋。
到了十二月,蠻子海牙不甘失敗,卷土重來,帶兵封鎖采石江麵,阻斷南北交通,企圖攻奪太平。朱元璋親率常遇春、馮國用等人采用火攻,焚毀元軍艦船,大獲全勝,俘虜近萬人。
這時,朱元璋看了看不遠處的江南重鎮金陵,決定讓張天佑率領陳野先等人帶兵攻打。其實陳野先被俘投降乃是無奈之舉,權宜之策,並非出於真心。此人一直在等待機會脫身,重新效命元朝。因此,他覺得此次跟隨張天佑帶兵攻打金陵便是個絕好的機會,於是暗中悄悄地告訴部下,說此次攻打金陵,隻要裝裝樣子,出工不出力即可。手下們聽了後,一個個欣然同意。
有陳野先等人從中搞鬼,起義軍人心不穩,更別談打仗了,結果張天佑等人被金陵城中的元軍打得大敗而回。