元末農民起義勢力蜂起,其中較強的是朱元璋和陳友諒。
在至正二十年(1360年)五月,陳友諒稱帝,國号為漢。
朱元璋在應天(今南京)定都,籌備要掃清其他勢力,一統天下。
由于陳友諒挾持皇帝徐壽輝,實力增加,兵強糧足,擁有戰艦數百艘之多,其中有可日行千裡的“混江龍”“塞斷江”“撞倒山”等大艦。
陳友諒抓緊訓練兵馬,并與另一支起義軍領袖張士誠聯系,打算聯手攻打朱元璋。
陳友諒與張士誠聯手攻打朱元璋的消息傳到應天城裡,老百姓議論紛紛,有的正準備逃走。
朱元璋知道這個情況後,立即傳令,如果誰提出投降或者逃跑,就殺誰。
城中人心一時稍見安定。
朱元璋急忙召來劉基(伯溫)商議對策,最後決定,誘敵深入,各個擊破。
陳友諒認為自己兵強馬壯,有恃無恐,果然中了朱元璋的計,陷入困境。
就在朱元璋與陳友諒拉開戰幕時,小明王派人來求援,說自己遭受元軍包圍。
朱元璋認為支持小明王可以赢得民心,并且可利用小明王所在地安豐保住應天。
為此,朱元璋親自率領大軍前往安豐。
1363年農曆四月,陳友諒乘朱軍主力救援安豐,江南空虛之機,以号稱60萬的水陸大軍于十一日圍攻洪都,占領吉安、臨江、無為州。
洪都地處贛北平原,位于贛江下遊,由贛江向北經鄱陽湖與長江相連,軍事地位甚為重要。
陳軍登陸後,用各種攻城器械從四面八方向洪都城發起猛攻。
守城朱軍浴皿奮戰,死守洪都,堅持月餘。
此時,朱元璋已回到應天,但主力仍由徐達率領正在圍攻廬州。
當朱元璋獲悉陳友諒全軍出動圍攻洪都而未直取應天,并悉江水日涸,不利陳軍巨艦行動,以及陳軍缺糧、士卒多死等消息後,認為這正是消滅陳友諒的大好時機。
朱元璋遂一面命洪都守軍再堅守一月,疲憊陳軍,争取時間;一面命徐達撤廬州之圍,回師應天。
七月初六,朱元璋親率水軍20萬,往救洪都。
十六日進抵湖口。
首先派兵守住泾江口(今安徽宿松南),另派一軍屯于南湖嘴(今江西湖口西北),切斷陳友諒歸路;又派兵扼守武陽渡(今江西南昌縣東),以防陳軍逃跑;朱元璋則親率水師由松門(今江西都昌南)進入鄱陽湖,形成關門打狗之勢。
陳友諒聽說朱元璋大軍來援,即撤洪都之圍,東出鄱陽湖迎戰。
一場規模空前、激烈異常的生死大決戰,就此在鄱陽湖面展開。
二十日,兩軍在康郎山(今江西鄱陽湖内)湖面遭遇。
時陳軍巨艦聯結布陣,展開數十裡,“望之如山”,氣勢奪人。
朱元璋針對其巨艦首尾連接,不利進退,将己方艦船分為20隊,每隊都配備大小火炮、火铳、火箭、火蒺藜、大小火槍、神機箭和弓弩,下令各隊接近敵艦時,先發火器,次用弓弩,靠近敵艦時再用短兵器進行格鬥。
次日,雙方展開激戰。
朱軍大将徐達身先士卒,率艦隊勇猛沖擊,擊敗陳軍前鋒,斃敵1500人,繳獲巨艦一艘。
俞通海乘風發炮,焚毀陳軍20餘艘艦船,陳軍被殺和淹死者甚衆。
但朱軍傷亡也不少,尤其是朱元璋座艦擱淺被圍,險遭不測。
戰鬥呈膠着狀态。
從早晨至日暮,雙方鳴金收兵,戰鬥告一段落,雙方互有傷亡,不分勝負。
二十二日,朱元璋親自率領水師出戰。
但陳艦巨大,朱軍艦小不能仰攻,接連受挫。
這時朱元璋及時采納了部将郭興建議,決定改用火攻破敵。
黃昏時分湖面上吹起東北風,朱元璋選擇勇敢士兵駕駛7艘漁船,船上裝滿火藥柴薪,迫近敵艦,順風放火,風急火烈,迅速蔓延。
一時烈焰飛騰,湖水盡赤,轉瞬之間燒毀陳軍數百艘巨艦,陳軍死傷過半,陳友諒的兩個兄弟及大将陳普略均被燒死。
朱元璋揮軍乘勢發起猛攻,又斃敵2000餘人。
二十三日,雙方又有交鋒,陳友諒瞅準朱元璋旗艦展開猛攻。
朱元璋剛剛移往他艦,原艦便被陳軍擊碎。
二十四日,俞通海等人率領6艦突入陳軍艦隊,勇敢馳騁,勢如遊龍,如入無人之境。
朱軍士氣大振,發起猛烈攻擊。
最後,陳軍不支敗退,遺棄的旗鼓器仗浮蔽湖面。
陳友諒隻得收攏殘部,轉為防禦,不敢再戰。
當天晚上,朱元璋乘勝進扼左蠡(今江西都昌西北),控制江水上遊,陳友諒亦退保諸矶(今江西星子南)。
兩軍相持3天,陳軍屢戰屢敗,形勢漸趨不利。
陳友諒兩員大将見大勢已去,于是投降了朱元璋,陳軍内部軍心動搖,力量更加削弱。
陳友諒又氣又惱,下令把抓到的俘虜全部殺掉以洩憤。
朱元璋卻反其道而行之,将俘虜全部送還,并悼死醫傷,瓦解陳軍士氣,從而大得人心。
陳軍内部分崩離析,士氣更加低落。
朱元璋判斷陳軍可能突圍退入長江,乃移軍湖口,在長江南北兩岸設置木栅,置大舟火筏于江中,又派兵奪取蕲州、興國,控制長江上遊,堵敵歸路,待機殲敵。
經過1個多月的對峙,陳友諒被困湖中,軍糧殆盡,計窮力竭。
于是孤注一擲,冒死突圍,八月二十六日,由南湖嘴突圍,企圖進入長江退回武昌。
行至湖口時,朱軍以舟師、火筏四面猛攻,陳軍無法前進,複走泾江,又遭伏兵阻擊,左沖右突,打不開生路。
陳友諒中箭而死,軍隊潰敗,5萬餘人投降。
至正二十四年(1364年)二月,朱元璋攻下武昌,陳友諒兒子陳理投降,朱元璋的勢力擴大到原陳友諒的所屬地區。
此次水戰,從七月二十日開始到八月二十六日結束,前後曆時37天,其時間之長、規模之大,投入兵力、艦隻之多、戰鬥之激烈都是空前的。
陳友諒的失敗,一個重要的原因是戰略指揮上的失誤。
本來,朱元璋率主力北救安豐,造成應天空虛。
如果陳友諒不是先攻洪都,而是以一部兵力對洪都進行牽制,主力順流東下直攻應天,那麼朱元璋将處于陳張夾攻、進退失據的不利處境。
但陳友諒卻把矛頭指向小而堅的洪都城,緻使數十萬大軍局促處于狹小地域,難以展開,且又沒有派兵扼守江湖要津,置後路于不顧。
屯兵堅城之下,苦戰3月,師老兵疲,士氣低落。
朱元璋之所以能以少勝多,以弱勝強,以小勝大,正是巧妙地利用了陳友諒錯誤的結果。
面對艦隻龐大、裝備精良的陳軍,朱元璋冷靜、敏捷地捕捉敵方的弱點和失誤,化不利為有利,進入湖口之初,就在武陽水與鄱陽湖、長江與鄱陽湖各隘口,重重派兵扼阻,限制其兵力展開,阻止其發揮多兵大艦的優勢,形成了對陳友諒的戰略包圍,因此從開始便掌握了戰略主動權。
然後他又集中大部戰船和兵力逐次打擊陳軍,并善于利用風向、水流等自然條件,及時搶占有利攻擊陣位,不失時機地實施火攻,充分發揮火器的作用,終于以少勝多、以小擊大、以弱勝強,創造了我國水戰海戰史上的著名戰例。