予禾教育

鄱阳湖之战:朱元璋与陈友谅

元至正二十三年七月二十日至八月二十六日(陈汉大义三年·韩宋龙凤九年) 公历 1363 年 8 月 – 1363 年
元末民变水战明朝统一战争 史源待核 3 存异说,未详考 5

元末长江上的一场水战。三十七天里,中国南方的归属被决定了。

叙事

要理解鄱阳湖上那三十七天,得先知道陈友谅是怎么走到湖边的。

1351 年,刘福通在颍州起事,徐寿辉在蕲水称帝,元朝的南方开始碎裂。陈友谅这一年三十出头,是沔阳总管府的一个狱吏——管牢房的小吏,识字,会写公文,力气很大。他投了红巾军的倪文俊,从簿书掾做起。

然后他开始上升。上升的方式很简单:杀掉挡在前面的人。

1357 年,他袭杀了自己的上司倪文俊,接管其部众,升平章政事。1359 年,他杀了另一名大将赵普胜,挟持徐寿辉迁都江州,自立为汉王。1360 年闰五月,他在采石的五通庙里杀掉徐寿辉——那位名义上的皇帝、他起家所奉的君主——当场即皇帝位,国号汉,年号大义。

一个称帝仪式,就在杀君的现场举行。这在中国历史上不算孤例,但很少有人做得这么不加掩饰。

从狱吏到皇帝,他用了不到十年,杀了三个人。效率极高。代价要到很多年后才在鄱阳湖上兑现——他手下的每一个将领都亲眼看过这三次上升,因此每一个人都知道:跟着这位陛下,忠诚是不必要的,需要的只是判断力。

称帝之后,他立刻顺流东下,去打朱元璋的应天。

那一仗叫龙湾。朱元璋派康茂才诈降,把陈友谅引到预设的伏击圈。陈友谅上钩了,而且在最坏的时刻遇上了最坏的运气:江水退潮,他那些引以为傲的巨舰成排搁浅在泥里,动弹不得。他大败,逃回江州。

1360 年到 1362 年间,他连续丢掉安庆、江州,退保武昌。部将吴宏、王溥、胡廷瑞先后投降朱元璋——将领们的算盘已经开始响了。

到 1363 年,陈友谅需要一场大胜。不只是为了土地,是为了证明自己还能赢。

这一年四月,机会来了:朱元璋带着主力北上安丰去了。

至正二十三年四月,洪都城下来了一支水军。

这支军队的规模,号称六十万。它的统帅陈友谅此时是汉皇帝,都武昌,控制着长江中游最富庶的地带。他的战船是当时长江上最壮观的东西——楼船高大,一层叠一层,几十艘可以联在一起,士兵在船上跑马都不觉得晃。这样的船开到江面上,本身就是一种宣告:我不是来试探的。

守洪都的是朱文正,朱元璋的侄子,手里大约四万人(一说只有两万)。

围城打了八十五天。

这八十五天里,洪都的城墙被攻破了好几处。守军的办法很朴素:白天在缺口上拿人堵,晚上把砖重新砌回去。第二天陈友谅再打,再破,再堵,再砌。双方的尸体在城墙下堆起来,攻城的人踩着尸体往上爬。

陈友谅一定觉得这座城随时会塌。它确实随时会塌——它只是一直没塌。

而朱元璋不在。

一个月前,他带着主力北上去了安丰。安丰城里困着韩林儿——那个名义上的“小明王”,朱元璋名义上的君主。张士诚的部将吕珍正在攻城,刘福通在城里撑不住了。

刘基劝他别去。理由讲得很直白:陈友谅和张士诚都在等你露出破绽;而且就算把韩林儿救出来,你打算把他往哪儿放?

这是个刻薄的问题,也是个准确的问题。朱元璋听懂了,然后照旧去了。

他去了,江西就空了。陈友谅等的就是这一刻。

所以七月里朱元璋回过头来看江西时,局面是这样的:他的侄子在洪都替他挡了八十五天,而他自己刚刚花了几个月,去救一个他日后并不打算保留的皇帝。

七月,朱元璋率二十万舟师西上。

他做的第一件事不是冲上去打,而是分兵扼住泾江口和南湖嘴——鄱阳湖通往长江的两个出口。这个动作的意思很清楚:这一仗不是要击退陈友谅,是要把他关在湖里。

陈友谅撤了洪都之围,掉转船头,进了鄱阳湖。

他有理由自信。水战是他的本行,他的船比对方大得多。

七月二十日,两军在康郎山相遇。

先接战的是徐达。他冲垮了陈军前锋,夺下一条巨舰。俞通海乘风发炮,焚毁陈军战船多条。开局看上去是漂亮的。

然后前三天到了。朱元璋几乎在这三天里输掉整场战争。

原因很物理:陈友谅的楼船高,朱元璋的船矮。矮船打高船,是仰着头往上打;高船打矮船,是低着头往下砸。石炮从楼船上抛下来,朱军的船接连碎裂。

最险的一刻,朱元璋的座舰中炮,又在撤退时搁浅——搁在浅滩上,动不了。陈汉太尉张定边看见了,率几条船直冲过来。

后来的记载说,牙将韩成在这时请求换上朱元璋的冠袍,然后当着汉军的面投水而死。汉军以为朱元璋死了,攻势一缓;常遇春在远处一箭射伤张定边,朱元璋的船才被拖出浅滩。

这个故事太漂亮了,漂亮到后人有理由怀疑它是后来补上去的。但即便剥掉它,剩下的部分也足够狼狈:在开战的第三天,未来的明太祖,是一个坐在搁浅的船上、等着人来捞的人。

转折来自一个部将的建议和一阵风。

郭兴说:船打不动,就烧。

那天傍晚,湖上起了东北风。朱元璋挑出敢死之士,用七艘渔船装满火药和芦苇,顺风驶向陈友谅那些联在一起的楼船。

联舟的好处是稳,坏处是——船与船之间没有空隙,火可以走过去。

那天烧掉了二十余艘楼船(也有记载说是数百艘巨舰)。陈友谅的两个弟弟陈友仁、陈友贵,还有平章陈普略,都死在这一天。仅这一日,陈军战殁至少两万五千人。

陈友谅疯了。他下令把俘获的朱军士兵,在阵前全部杀掉。

朱元璋做了相反的事:把俘虏全放回去,伤的给治,死的替他们发丧。

这不是仁慈,这是算计——而且是一次几乎立刻见效的算计。两支军队的士兵此后都很清楚:投降陈友谅的下场是被杀,投降朱元璋的下场是被送回家。战役后期,陈友谅信任的将领开始成批地降。

杀俘是一个统帅在丧失控制时最容易做出的选择。它能立刻发泄愤怒,也能立刻宣告一件事:这支军队的统帅已经不再计算得失了。陈友谅的士兵不会不懂这个信号。

而在朱元璋这边,杀俘的消息带来了另一个后果:退路没有了。朱军上下明白,落到对面手里是必死。一支被逼到必死的军队,反而是最难对付的军队。

接着,天开始帮朱元璋。

秋天日头久曬,鄱阳湖水位一天天下去。陈友谅的楼船吃水太深,开始搁浅,不敢靠岸;朱元璋的小船反而在浅水里来去自如,可以靠岸扎寨、可以补给、可以耗。

那些高大得像城楼一样的船,在一片正在变浅的湖里,从优势变成了负担。

到了八月下旬,陈友谅的处境已经无法用兵力解释了:他有六十万人,被关在一个湖里;粮尽,将叛,弟弟死了,退路被人守着。

这不是一个可以靠打仗解决的局面。它已经变成了一个算术题,而算术不站在他这边。

他决定突围。

至于突围之后去哪里,他大概也说不太清——回武昌,然后呢?那些已经投降过一次的将领会重新集结在他麾下吗?江州早已不在手里,安庆早已不在手里。他真正带得走的,只有一支正在瓦解的水军和一个已经没有腹地的皇帝名号。

陈军由南湖嘴向长江方向冲。到湖口,朱军以舟师和火筏迎头猛攻,冲不过去;改走泾江,又撞上早就守在那里的伏兵。

在这场左冲右突里,陈友谅从船舱中探出头来看外面。

一支流矢射中了他。

没有人知道那支箭是谁射的。它不是狙杀,也不是安排,它只是几万支箭里的其中一支——在那种箭雨里,探头是一件极愚蠢的事,而人在极度焦虑时总会想看一眼外面。

他就这样死了,四十四岁。一个从沔阳渔家出身的狱吏,杀过自己的上司,杀过自己的皇帝,做了三年多的汉帝,最后死在一支不知道是谁射出的箭上。

主帅一死,六十万人的军队立刻散了。五万余人投降。

张定边收起陈友谅的尸体,带着他的次子陈理逃回武昌,立陈理为帝,改元德寿。这个年号只用了半年。1364 年二月,朱元璋兵临武昌城下,陈理出降。陈汉亡。

陈理后来被封为归德侯,1372 年被迁往高丽,此生再没回来。张定边——那个几乎在乱军中杀掉朱元璋的人——出家做了和尚,一直活到很老。

鄱阳湖之后,朱元璋的对手只剩一个张士诚。他后来对臣下说过一句话,大意是:陈友谅志骄,张士诚器小;志骄的人爱惹事,器小的人没长远打算。

这话是胜利者说的,所以带着胜利者特有的从容。但它并不完全是马后炮。陈友谅的每一次上升,都是靠杀掉挡在前面的人——倪文俊、赵普胜、徐寿辉,一个接一个。这种方式效率极高,代价是他手下的将领全都学会了同一件事:跟着这个人,不必讲忠诚,只需要计算。

所以当他在鄱阳湖上开始失败的时候,那些人算了一下,然后走了。

1367 年,张士诚败亡。第二年,朱元璋在应天称帝。

而这一切开始的地方,是一片在秋天里慢慢变浅的湖,和一支不知道从哪里飞来的箭。

考据

时间与纪年。 本条采公历系年,time 记 1363 年 8 月 30 日至 10 月 4 日,era 记至正二十三年七月二十日至八月二十六日。此役发生在秋季,不涉及农历十一、十二月跨公历年的陷阱。需注意元末此时并存三套纪年:元廷至正、陈汉大义、韩宋龙凤——朱元璋此时名义上仍奉龙凤年号,故本条 polities 同时列入韩宋。

陈友谅的死日有两说。 中文维基百科自身就不一致:陈友谅 条目作 1363 年 10 月 3 日(八月壬戌),鄱阳湖之战 条目作 10 月 4 日(八月二十六日)。二者相差一日,来源均未标明底本。本站暂从 10 月 3 日,adopted_reason: default——这是一个「随手选的默认值」,不是史学判断,十年后回看时请以此标记为准。已入 disputesresearched: false

兵力数字必须打折。 「六十万」出自陈汉方面的宣称,见于明代记载并被后世沿用。古代战争的兵力记载普遍虚高,这个数字更接近政治宣传而非兵籍统计。本站在 facts 中一律记作「号称六十万(实数不详)」。朱元璋方的「二十万」相对可信一些,但同样无法核验。至于中文维基百科信息框给出的朱军伤亡「阵亡 1346、负伤 11347」——精确到个位,却无任何来源标注,本站录之而不用之于正文,仅作史料现象存档。

火攻的战果,两个数量级的差距。 中文维基百科正文作「烧毁陈军二十几艘楼船艦船」;而百度百科一类的条目与大量通俗史著作「焚数百艘巨舰」。这不是小数点问题,是叙事需要与史料克制之间的差距。本站取保守之数,并在 disputes 中并列另一说。

韩成代死。 此事见于明代官方叙述与《明史》中的忠节类传记,情节完整、对白工整——正是最容易被后世层累加工的那一类材料。它可能是真的(明初开国将士的殉死并不稀奇),也可能是明廷追述开国艰难时的润色。本站作为「一说」采录并明确标注争议,不当作定论。

洪都八十五日。 守军兵力有四万、两万两说;八十五日之数则各处记载一致。这场围城是鄱阳湖决战的直接前提:正是它把陈友谅的六十万人钉在了一座打不下来的城前,耗掉了三个多月和大量精锐,并且给了朱元璋从安丰赶回来的时间。所以本条把 e-hongdu 列为 caused_by

「志骄」「器小」之评。 朱元璋对陈友谅、张士诚的这段评语流传极广。它是胜利者的事后总结,具有天然的自我确证性,读时应当打折。但它也确实指出了陈友谅政权的结构性弱点——一个靠连续弑上建立的政权,无法向下要求忠诚。

⚠️ 本条目 s1(《明史》)、s2(《明太祖实录》)、s3(《国初群雄事略》)三条史源的卷次尚未实查,一律标「待核」+ verified: false 本站铁律:不得凭记忆填写卷次。目前正文的事实骨架主要依托中文维基百科相关条目(s4,已逐条查阅,verified: true)交叉核对。实查明代原始文献后回填。

注释

  • 鄱阳湖:中国最大的淡水湖,在今江西北部,经湖口注入长江。湖面随季节涨落极大——这一点在本战中是决定性的。
  • 洪都:今江西南昌。元为龙兴路,朱元璋改称洪都府。
  • 康郎山:鄱阳湖中的山,在今江西余干县境,两军初战之地。
  • 湖口 / 泾江口 / 南湖嘴:鄱阳湖通长江的水道要冲,均在今江西九江一带。朱元璋战前先扼此数处,是要把陈友谅关在湖内。
  • 楼船:多层的大型战船。高大、载兵多、居高临下有利,但吃水深、转向慢,在浅水中极易搁浅。
  • 平章:即平章政事,元代及元末诸政权的高级执政官职,位次于丞相。陈普略、陈友谅本人都曾任此职。
  • 太尉:陈汉的武职高官。张定边任此职。
  • 小明王:即韩林儿,韩宋政权的皇帝,龙凤年号的所有者。朱元璋在称帝前长期奉其年号。
  • 沔阳(miǎn yáng):陈友谅籍贯,今湖北仙桃、洪湖一带。
  • 陈汉:陈友谅所建政权的国号为「汉」,史家为与两汉相区别,通称陈汉。

关 键 数 据

元末三大势力陈友谅据武昌(称汉帝)、朱元璋据应天(吴国公)、张士诚据平江(自称吴王)
红巾起事1351 年刘福通等起事,同年徐寿辉在蕲水建政;元末民变自此展开
陈友谅出身沔阳黄蓬人,元沔阳总管府狱吏出身,后入红巾军倪文俊部
陈友谅杀倪文俊1357 年(至正十七年)袭杀其上司倪文俊,升平章政事
陈友谅挟徐寿辉迁都江州1359 年(至正十九年)自立为汉王,都江州(今九江)
陈友谅称帝1360 年(至正二十年)闰五月于采石五通庙杀徐寿辉,即皇帝位,国号汉,年号大义
龙湾之战1360 年,康茂才诈降诱敌,陈友谅巨舰因江水退潮搁浅大败,退走江州
江州之失1361 年至 1362 年间陈友谅连失安庆、江州,退保武昌,部将吴宏、王溥、胡廷瑞相继降朱
安丰之战1363 年三月,朱元璋不顾刘基劝阻,北上安丰救韩林儿,应天与江西为之空虚
刘基之谏刘基以为汉、吴伺隙,不可轻动;且救出韩林儿后无处安置
洪都围城起讫1363 年四月至七月,陈汉围洪都(今南昌)八十五天不下
陈汉出兵之数号称六十万(水陆两军,实数不详)
洪都守军约四万(一说两万),守将为朱元璋之侄、大都督朱文正
洪都城墙数处被攻破,守军且战且筑
朱元璋兵力二十万(舟师)
朱军出师1363 年七月,朱元璋亲率舟师自应天西上救洪都;先遣兵扼守泾江口、南湖嘴
战役历时三十七天(七月二十日至八月二十六日)
初战地康郎山(今江西余干县境鄱阳湖中)
陈军战船楼船高大,联舟为阵,居高临下发炮石;行动迟缓,吃水深
朱军战船船小,仰攻不利,但机动灵活、可靠岸扎寨
朱元璋座舰遇险座舰中炮且搁浅,几为汉军所获
张定边突袭陈汉太尉张定边率数舟直冲朱元璋座舰
韩成代死之说牙将韩成易朱元璋冠袍投水诈死,汉军攻势稍缓;常遇春射伤张定边,朱元璋乃脱险
火攻采纳郭兴之议,趁东北风起,以七艘渔船满载火药、芦苇,纵火焚陈军联舟
火攻战果焚陈军楼船二十余艘(一说数百艘巨舰)
陈军单日阵亡至少两万五千人;陈友谅之弟陈友仁、陈友贵及平章陈普略等皆死
陈友谅杀俘陈军愤而阵前杀朱军俘虏
朱元璋释俘尽还所俘、医其伤者、祭其死者,以瓦解陈军军心
水位之变秋日久曬,湖水位降低,陈军楼船吃水深而搁浅,不敢靠岸
朱军伤亡记载一说阵亡 1346 人、负伤 11347 人
陈军突围八月,陈军由南湖嘴突围,欲入长江退武昌;至湖口受阻,复走泾江,又遭截击
陈军降者五万余人投降
陈友谅之死1363 年 10 月 3 日(一作 10 月 4 日),突围中自舱中探头,中流矢死,年四十四
陈友谅生卒1320 年 11 月 3 日生,1363 年 10 月 3 日死于鄱阳湖
张定边归武昌护陈友谅尸还武昌,立其次子陈理为帝,改元德寿
武昌降1364 年二月,朱元璋围武昌,陈理出降,陈汉亡
陈理结局封归德侯;1372 年(洪武五年)徙居高丽
张定边结局随陈理降后出家为僧
朱元璋之评谓陈友谅志骄、张士诚器小;志骄则好生事,器小则无远图
张士诚之亡1367 年朱元璋灭张士诚;次年称帝建明

学 界 异 说

陈友谅中箭身死是 1363 年 10 月 3 日还是 10 月 4 日?
  • 10 月 3 日(至正二十三年八月壬戌)
  • 10 月 4 日(八月二十六日)——中文维基百科鄱阳湖之战条目采此日
⚠ 本站已知此处有异说,尚未详考各家出处——这是待补的功课,不是结论。
火攻一日焚毁陈军船只究竟多少?
  • 二十余艘楼船
  • 数百艘巨舰(多见于通俗史著与百科类条目)
⚠ 本站已知此处有异说,尚未详考各家出处——这是待补的功课,不是结论。
洪都守军是四万还是两万?
  • 约四万
  • 两万
⚠ 本站已知此处有异说,尚未详考各家出处——这是待补的功课,不是结论。
陈汉「六十万」是否为实数?
  • 号称之数,实数不详;古代战争兵力记载普遍夸大
  • 实有六十万(史籍与后世多径用此数)
⚠ 本站已知此处有异说,尚未详考各家出处——这是待补的功课,不是结论。
韩成易冠袍代死之事是否属实?
  • 见于明代官方记载与《明史》忠节类传,本站作为一说采录
  • 情节高度戏剧化,或为明廷追述开国时的层累塑造
⚠ 本站已知此处有异说,尚未详考各家出处——这是待补的功课,不是结论。

影 响(编 者 的 推 断)

e-ming-jianguo(未撰) 1363 – 1368
陈友谅一死,长江中游尽归朱元璋,南方再无对手;五年之后朱元璋称帝建明——从鄱阳湖到南京登基,是同一条因果链的两端。
e-mingtaizu-beifa(未撰) 1363 – 1368
若无鄱阳湖之胜,朱元璋不可能腾出手来东灭张士诚、北上伐元;南方统一是北伐的前提,这一判断是后人对战略次序的复盘,非史料明言。

为什么单独列出来:没有任何一条史料能"证明"跨越百年的因果——那是现代人的推断。 所以它和史料直陈的事实分开显示。明示这是编者的解释,比假装有史料诚实。

关 联

参与 p-zhu-yuanzhang(未撰) — 亲率舟师二十万决战,用火攻、扼湖口
参与 p-chen-youliang(未撰) — 陈汉皇帝,围洪都不下,决战中箭死
参与 p-zhu-wenzheng(未撰) — 洪都大都督,守城八十五天
参与 p-zhang-dingbian(未撰) — 陈汉太尉,直冲朱元璋座舰;战后护尸还武昌
参与 p-chang-yuchun(未撰) — 射伤张定边,解朱元璋之围
参与 p-xu-da(未撰) — 康郎山初战破陈军前锋
参与 p-yu-tonghai(未撰) — 乘风发炮,焚陈军船
参与 p-guo-xing(未撰) — 献火攻之策
参与 p-liu-ji(未撰) — 先谏勿救安丰;随军决战
地点 pl-poyanghu(未撰)
起因 e-hongdu(未撰)
起因 e-anfeng(未撰)

史 源

s1 《ming-shi》 待核(太祖本纪 · 陈友谅传) · 待实查
s2 《ming-taizu-shilu》 待核(至正二十三年七月至八月条) · 待实查
s3 《guochu-qunxiong-shilue》 待核(陈友谅 · 韩林儿诸卷) · 待实查
s4 《wikipedia-zh》 鄱阳湖之战 · 陈友谅 · 洪都保卫战 · 朱元璋灭陈友谅之战(2026-07-14 查阅)

⚠ 本条目有 3 条史源的卷次尚未实查,一律标「待核」。
本站铁律:不得凭记忆填卷次——那正是 AI 最容易一本正经编造的东西。 未实查是老实的状态,编一个卷次才是欺骗。