當年2月,張士誠派呂鎮軍圍攻王小明最後的據點安豐(今安徽壽縣)。安豐糧盡,死,安豐急。朱元璋考慮到安豐是天險(今南京),救安豐就是保應天,於是三月帶兵渡河救安豐。
三次戰爭,三次勝利,呂振戰敗逃跑。陳友諒(今江西九江)在江州戰敗後,伺機收復江西,利用朱元璋的主力挽救安豐和江南的空虛。四月,率主力,自稱六十萬。11日圍攻洪都(今江西南昌)。占領吉安、臨江、武威。洪都位於贛北平原,贛江下遊,從贛江向北經鄱陽湖與長江相連,軍事地位十分重要。為了進攻洪都,陳友諒專門建造了數百艘巨大的船只,這些船只都用紅漆裝飾。這艘船有幾英尺高,有三層,每層都有壹個從上到下相連的馬廄,下面壹層蓋著板房。槳有幾十個,槳用鐵皮包著。人住在上下兩層,聽不到對方說話。據說大的能載3000人,小的能載2000人。陳軍登陸後,猛攻洪都。朱元璋的軍隊的統帥朱文正,鄧禹,趙德勝元帥,薛憲和牛海龍元帥拒絕守衛城門。陳友諒軍全力攻城,趙德勝、牛海龍先後戰死。朱元璋的軍隊傷亡慘重,但城內軍民守住了洪都。洪都被圍困數月,與外界隔絕,消息閉塞。六月,朱溫派數千張子明家庭到朱元璋處救急。
朱元璋得到消息後,急令幽城徐達、廬州(今安徽合肥)謀士常遇春馳援李,並於七月初六,親自率領樞密院事馮、、俞通海接應,率船師二十萬救洪都。七月十七日,朱元璋率軍入湖口(今江西湖口)。為了把陳友諒困在鄱陽湖,以便與之決戰,朱元璋派大德領兵到荊江口(今安徽宿松南長江)。又過了壹個屯南胡嘴(今江西湖口以北),陳友諒的歸途被切斷。同時派人將信州兵轉移到舞陽渡(今江西南昌東南),防止陳軍逃跑,而朱元璋則親自率領船師從松門(今江西昌南)向鄱陽湖進發。
當時陳友諒已圍困洪都85天,但久攻不下,士氣低落。得知朱元璋大軍來援,於19日退出洪都之圍,向東面對鄱陽湖。10日,兩軍在康郎山(今江西鄱陽湖康山)水域相遇。陳君是“大船,騎上流,鋒甚銳”。朱元璋對將軍們說:“兩軍相爭,勇者勝。朋友在洪都附近很久了,但是壹聽說我們師到了,就撤退去打,那是必死無疑。妳要盡力把這個敵人切斷,就是今天。”將軍們接到命令後,都奮勇作戰。陳到巨船陣,對陣朱軍朱元璋對眾將說:“巨船首尾相連,不利進退,但可破。”(《續資治通鑒》卷217)於是,水軍被分成11隊(壹說20隊),每隊裝備有大小火炮、火銃、火箭、火蒺藜、大小火槍、神箭、弩。並使各隊先開火火器,再在接近敵船時射弩,接近敵船時與矮兵戰鬥。
7月21日,雙方主力開始交戰。朱元璋當時派徐達、常遇春、廖永忠等帶兵前進。“聲動天地,箭鋒雨定,炮響雷動,浪起,百裏飛火照,水盡紅,焚溺之人動十二萬。”激戰中,徐達身先士卒,率部奮勇進攻,大敗陳友諒前軍,陣亡1.500人,繳獲巨艦1艘,軍力大振。幾天後,於同海乘風再次開火,擊潰陳友諒軍,燒毀陳友諒戰船二十余艘,陳軍被殺淹死。朱元璋的軍隊也傷亡慘重。這時徐達的船著火了,陳趁機強攻。幸好朱元璋及時派船支援,才被陳擊退。為了扭轉不利的局面,陳友諒軍中的老將張定邊率兵強攻朱元璋的指揮艦。指揮艦避過時,突然擱淺。陳乘機圍攻,兵奮力抵抗,陳無法靠近。在激烈的戰鬥中,朱軍指揮韓成、宋貴元帥和陳昭憲相繼被殺。情況緊急,常遇春開槍打死了張定邊,於同海和廖永忠乘獨木舟趕來營救。張定邊見朱軍來勢兇猛,便率軍返回,朱元璋才得以逃脫。廖永忠看見張定邊撤退,便率獨木舟追趕,張定邊又被箭射傷了。戰爭結束時,雙方都敲響了撤退的鐘聲。
朱元璋首戰勝利後,怕張士誠乘虛進攻後方,命徐達將軍應天,以防萬壹。
22日,朱元璋親自準備決戰。陳友諒率眾巨艦出戰,聯艇布陣,旌旗在地,狀如山嶽。朱太小,攻不下,連戰沮喪了三天。激戰中,右軍被迫撤退,朱元璋連殺10余名軍長,依然無法阻擋。這時候,郭興的部將告訴朱元璋,不是士兵不用死,而是船太小,裝不下陳軍的大船,所以建議用火攻。朱元璋采納了這個建議,下令七艘船裝上火藥,綁上稻草人,穿上盔甲,手持武器,由武士驅趕,去攻打陳軍,黃昏時,火船乘著東北風逼近他們的船,放火燒船,風很大。它壹頭紮進陳陣,燒了數百艘陳友諒的船。當時火光沖天,湖水通紅,陳死傷過半。、陳友諒的兄弟、陳和平章陳都被燒死。朱元璋乘勢而起,強攻大軍,殺了2000多人。朱軍也遭受了損失,五名將軍被殺。
23日拂曉,雙方再次相遇。陳步步緊逼,四面圍攻朱元璋的船。就在這千鈞壹發之際,秦冰將軍韓成戴上朱元璋的王冠,化裝成朱元璋,迷惑敵人。韓成換好衣服後,在陳面前投水自盡。陳友諒以為朱元璋死了,於是微微後退。朱元璋趁機轉移到另壹艘船上。剛轉移完,他的船就著火了,朱元璋又活了下來。
二十四日,陳先頭部隊戰船因機動困難,被包圍,全部被毀。朱軍於通海、廖永忠、張興祖、趙勇等將領乘坐六艘快船,闖入陳軍的船隊,在那裏與陳軍的巨艦會合作戰。這六條船猶如蛟龍,自由馳騁,縈繞在陳的大船上。朱軍見此情景,士氣大振,發起了猛烈的進攻。雙方從淩晨激戰到中午,陳軍終於疲憊不堪,向後撤退。被遺棄的武器遍布湖面。陳友諒試圖撤退到歇山(今江西湖口南大的壹座孤山),但出口被朱軍攔住,只好收兵自衛。當晚,為了控制長江水道,朱元璋將部隊移至左立(今江西都昌西北),陳友諒也移至諸暨(今江西幸子南)。
雙方僵持了三天,陳軍屢戰屢敗,形勢更是雪上加霜。陳軍左右將軍吳金見大勢已去,紛紛向朱元璋投降,陳軍士氣更加低落。朱元璋趁機發函陳友諒投降,陳友諒殺光俘虜泄憤。而朱元璋卻把俘虜全部釋放,並以死哀悼,以分化瓦解陳軍的士氣。朱元璋判斷陳友諒可能突圍,退入長江,但轉移到軍湖口,在長江南北兩岸設置柵欄,在江中放置火筏;他還派兵奪取周琦(治今湖北蘄春縣),興國,控制長江上遊。經過壹個多月的激戰,陳軍的歸途被切斷,糧食匱乏,部隊饑寒交迫,疲憊不堪。陳友諒已智窮力竭,於是於8月26日率領100多艘船只,冒著生命危險突圍,試圖經南湖口入長江,返回武昌。陳到湖口,被圍住,乘勢用船、筏四面夾攻。陳趁亂逃走,被在荊江口截住。陳友諒被箭射死,軍隊大敗。第二天,平章陳蓉率領5萬多人投降。張秋定邊,李和陳友諒逃回武昌。朱元璋打贏了水戰。鄭錚二十四年(1364)二月,朱元璋攻占武昌(見武昌之戰),陳立投降,朱元璋的勢力擴大到陳友諒所屬地區。
點評:這場戰役,是朱元璋與陳友諒在鄱陽湖水域爭奪中國南方的戰略決戰,在中國水戰史上占有重要地位。這場戰爭前後持續了37天,時間之長,規模之大,投入的兵力之多,支援的船只之多,戰鬥的激烈程度都是前所未有的。從雙方實力對比來看,陳軍號稱60萬,朱軍只有20萬;陳的戰船大多是新造的,又高又裝備精良。朱軍的戰船以收捕為主,多為小船,但機動靈活,進退自如。兩相比較,陳軍占優勢。然而,交戰的結果是朱軍以劣勢兵力擊敗了優勢兵力的陳軍。戰後,朱元璋在分析勝利原因時指出,“陳友諒雖兵多,但人同心,上下疑心,且(且不說)連年征戰,屢敗屢戰”,而我之所以勝利,是因為我“用兵之時,失力之時,兵同心,人勇之時,如鳥戰”。朱元璋勝利的另壹個原因是他部署得當,指揮正確。入湖口之初,朱元璋“派兵把守舞陽湖與鄱陽湖之間、長江與鄱陽湖之間的關隘,壹則切斷陳軍的歸途,二則限制陳軍的部署,使其不能充分發揮兵多船大的優勢。然後,集中兵力,陸續進攻陳軍。陳軍的戰船高大、穩定、兵員眾多,可以從制高點打擊朱軍。但它的致命弱點是機動性差,進退更是不利。朱軍的船小,機動性強,便於靈活攻擊陳軍,但有壹些弱點,如難以從後面攻擊,抗沖擊,難以正面滲透。針對這種情況,朱軍采取了揚長避短、長攻短的戰術。先以隊為單位多路進攻陳軍,充分發揮火器的作用,再以火攻敵。康郎山水域壹戰,陳軍數十艘大船被毀,首戰告捷;湖口壹戰,擊毀陳戰船數百艘,消滅陳大部。成為中國水戰史上的著名戰役,為其統壹江南、建立明朝奠定了基礎,因而具有重大的戰略意義。
陳友諒的失敗首先是戰略失誤造成的。原來朱元璋率領主力在北方救王小明,導致天空。這是壹個戰略錯誤。如果陳友諒帶著主力順流而下,直擊長空,朱元璋就會被夾在陳(遊良)和張(石城)之間,形勢就會發生有利於陳友諒的變化。但陳友諒並沒有這樣做,而是將攻擊的矛頭對準了小而強的洪都城,使得數十萬水陸大軍置於狹小的地域內,難以展開;而且他也沒有派兵鎮守江湖,也沒有理會後路。結果朱元璋被堵在鄱陽湖。另外,陳友諒剛愎自用,暴躁多疑,內部瓦解,士氣低落;指揮笨拙,戰術單壹,聯合船艇部署,機動困難等。,也是陳友諒失敗的原因。
朱元璋拿下戰略總根據地慶忌(後改名應天)後,勢力範圍擴大到蘇南、皖南、浙江部分地區,成長為壹股獨霸天下的強大力量。他真正的克星不是元軍,而是他的兩個鄰居——東邊的張士誠和西邊的陳友諒。先攻擊誰是壹個重大的戰略決策。當時朱元璋的手下普遍認為張士誠軟弱,主張先對付他。朱元璋不同意,告訴群臣,張士誠的特點是個頭小,陳友諒的特點是傲慢,個頭小,缺乏遠見,傲慢惹事。我若攻陳友諒,張士誠不救他,但我若攻張士誠,陳友諒必動員全國救他,我將兩線作戰。後來發生的事情證明了朱元璋的戰略眼光。