正如劉伯溫所料,陳友諒的大軍一旦停戰,必然懈怠。為了打發時間,士兵們在大營里吆五喝六劃拳Du博,弄得烏煙瘴氣。等陳友諒回來檢視軍備,發現連火炮都缺少日常維護,試發一炮還炸了膛,頓時大怒。召集來所有將領后,友諒下令五日內必須拿下洪都。
次日一大早,陳友諒便率領大軍全力攻城。各個城門都遭到猛烈的攻擊,不少守城軍士傷亡。為抵御外敵,朱文正連城內民舍都拆了,磚頭梁木一齊往城下砸。各個城門紛紛告急,連鎮守土步門的趙德勝也不幸陣亡。如果不是靠著火銃的威力,只怕城門早已失守。
即使到了如此危急時刻,劉伯溫仍不許駐扎在澎澤的水陸大軍增援。他要等到陳友諒元氣大傷的時候,再一舉拿下。這幾日連續下雨,估計陳友諒也不會再攻城,能讓洪都借機休整,鞏固城墻。而陳友諒因攻不下洪都,將所有怯戰的將領全部斬殺,整個軍營議論紛紛,對陳友諒的暴虐漸生不滿。
待天晴后,洪都城下又是一番大戰??稍谥煳恼膱允叵拢瑵h軍傷亡慘重,雖攻破幾個城門,但很快在火銃的威力下撤退。就這樣,在各城門間反復上演著拉鋸戰。同時朱元璋的水軍也在劉伯溫的指揮下,慢慢蠶食澎澤周邊的縣鎮,從江洲島到湖口再到涇江,不露聲色的封鎖鄱陽與長江的出入口,又不足以讓陳友諒提高警惕。
十天已過,超過陳友諒的軍令五天時間,可洪都仍在朱文正手里。陳友諒正惱怒之際,聽手下兩名將領匯報,洪都的洪門防守薄弱,可集中兵力攻打。陳友諒馬上命令佯裝攻打各門,主力進攻洪門。各將領命,但定邊和必先出了大帳后對此仗卻不抱信心,只好裝病。
果然,洪門雖兵力薄弱,但朱文正讓士兵將箭矢燒紅,一箭射出燙死燙傷不少人,進攻洪門的計劃再次失敗。陳友諒大怒之下,又斬了攻城不利的將領,更是引得眾軍士由不滿變成恐懼,離軍逃跑的人也越來越多。
洪都堅守了七十天,城內守軍越來越少。元璋曾答應六十天后派來援軍,可到現在仍不見蹤影,連朱文正都感覺不支。他親自護送大將趙明達突圍,至澎澤求援。友諒得知后,知道朱文正作為主將必定會回城,便命人嚴守各道路,務必截住朱文正。哪知狡兔三窟,還是讓朱文正逃回了城里。
趙明達到了澎澤,將洪都的情況向元璋和軍師做了匯報。劉伯溫隨即派出水軍進入鄱陽湖,陸軍也向都昌和鄱陽縣進發,陳友諒必然調頭迎戰,洪都之圍即解。不過之后的戰斗會更艱苦,元璋的二十萬大軍與陳友諒的六十萬大軍將在鄱陽湖決戰,誰勝誰負實難定論。
陳友諒封鎖了洪都援軍到來的消息,更是命人嚴守道路,務必要抓住回來報信的趙明達。將趙明達擒住后,陳友諒親自招降。趙明達為將援軍消息報知朱文正,假意投降。待陳友諒將他帶至城下,向城內守軍喊話時,趙明達陣前跑向城門。陳友諒彎弓搭箭,一箭貫穿趙明達胸口。朱文正忙打開城門,將趙明達接應回城。臨死前,趙明達將軍師的部署告訴了朱文正,讓洪都守軍的土氣大振。見攻下洪都無望,陳友諒只能撤軍退守鄱陽湖,準備與元璋決一死戰。
決戰之前,元璋和友諒都無法安心,兩人各自到廟宇中祈求神靈保佑。在神佛前,兩人各自得到了提示,友諒連抽下下簽,還夢到徐壽輝索命,元璋則夢見師父鼓勵他要推翻元廷。陳友諒從夢中驚醒,但他仍不信天意,一把火將廟宇付之一炬。這個消息傳到軍營,軍心動搖,趁夜離軍的人不計其數。
陳友諒自恃船堅炮利,且鄱陽湖面積廣大,足夠大船周轉。而朱無璋的水軍只是些漁船改造而成,最大的戰艦還不及陳友諒戰艦一半大小。所以陳友諒堅信鄱陽湖一戰必定會讓朱元璋全軍覆沒,到時再揮師東進,應天自然手到擒來。雖然陳友諒說得頭頭是道,可帳下的將領,包括定邊、必邊在內仍垂頭喪氣。幾十萬大軍,傷亡十幾萬人都未拿下洪都小城,還何言讓朱元璋全軍覆沒。
公元1363年7月,朱元璋和陳友諒在鄱陽湖展開了大規模水戰。首戰,陳友諒小勝,就已經開始得意忘形,起了輕敵之心。而通過這一戰,劉伯溫倒得出了不少經驗,從中總結出心得,對之后的戰術安排做了相應的調整。
漢軍的戰船高大堅固,這是不可回避的事實,船堅炮利,強攻絕對沒有贏的希望。但朱元璋的小船操縱靈便,船上的軍士又配有火銃。所以必須盡量靠近漢軍戰船,才能讓其大炮無用武之地,充分發揮火銃的優勢。不過目前的戰場水面開闊,有利于漢軍,劉伯溫便指揮水軍向南移動。在鄱陽湖的東南方,有一座立于湖中的島嶼,名為康郎山,那里正是與漢軍水師周旋的絕佳地點。
陳友諒聽到探馬來報,朱元璋向南逃竄,不顧必先的提醒,下令出兵追擊。此時他已被勝利沖昏頭腦,要在十日內圍殲朱元璋的部隊。隨后兩軍又在康郎山展開一場大戰,這次戰斗是按新戰法,以小船靈便靠近大船攻擊。雖炸毀了幾船漢軍大船,可朱家軍損失也不小,得不償失。第二場勝利讓陳友諒失去了戒備之心,將鐵鎖連船,以便相互支援。三國曾有火燒赤壁之鑒,但漢軍在朱元璋水軍北面,除非刮北風才能放火燒船。時值盛夏,不可能有北風,所以陳友諒并不擔心重蹈覆轍。
不想劉伯溫乃世外高人,夜觀天象,知明日午后必有一場北風。元璋抓住這次短暫的時機,組建了一支敢死隊。次日午后,一隊小船載滿硝石火藥,乘著北風直沖漢軍船隊。陳友諒絕沒料得上天棄他于不顧,整個船隊被大火吞沒,燒死溺死士兵無數。
陳友諒帶著五萬殘兵逃到筆架山,被朱元璋大軍重重包圍。但他仍不甘心失敗,命必先突圍去江州求援,再去平江請張士誠發兵攻打應天。只要應天有難,朱元璋就會撤軍回援,到時再趁勢追擊,可反敗為勝。
朱元璋接報,張必先在涇江口突圍。劉伯溫料江州已無兵力,其必去平江找張士誠。他請元璋修書一封,將此地的情況告之張士誠。以張士誠生意人的性格,必不可能援助陳友諒,做這等利人損己的賠本買賣。
果不出所料,必先突圍之后,陳友諒遲遲未得到消息。此時糧草已盡,他不得不率軍突圍。