鄱阳湖之战:朱元璋与陈友谅
元末长江上的一场水战。三十七天里,中国南方的归属被决定了。
叙事
要理解鄱阳湖上那三十七天,得先知道陈友谅是怎么走到湖边的。
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——这是一个「随手选的默认值」,不是史学判断,十年后回看时请以此标记为准。已入 disputes,researched: 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 年朱元璋灭张士诚;次年称帝建明 |
学 界 异 说
- 10 月 3 日(至正二十三年八月壬戌)
- 10 月 4 日(八月二十六日)——中文维基百科鄱阳湖之战条目采此日
- 二十余艘楼船
- 数百艘巨舰(多见于通俗史著与百科类条目)
- 约四万
- 两万
- 号称之数,实数不详;古代战争兵力记载普遍夸大
- 实有六十万(史籍与后世多径用此数)
- 见于明代官方记载与《明史》忠节类传,本站作为一说采录
- 情节高度戏剧化,或为明廷追述开国时的层累塑造
影 响(编 者 的 推 断)
为什么单独列出来:没有任何一条史料能"证明"跨越百年的因果——那是现代人的推断。 所以它和史料直陈的事实分开显示。明示这是编者的解释,比假装有史料诚实。
关 联
| 参与 | 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 最容易一本正经编造的东西。
未实查是老实的状态,编一个卷次才是欺骗。