陈友谅自从老仆走后,立刻下令全体水军出发,由他亲自带领,直驶江东桥。哪想到到了约定地点,竟没见木桥,只有石桥。陈友谅的部将们都起了疑心。陈友谅想,别管他是石桥还是木桥,只要找到康茂才就好。他就到石桥旁边,一连喊了几声“老康”,也没人答应。陈友谅这才想到自己上了当,急忙命令船队撤退。
朱元璋发现敌人中计,立刻叫兵士举起黄旗,发动进攻。一霎眼间,战鼓齐鸣,岸上伏兵一起杀出,水港里的水军也加入战斗。
陈友谅受到突然袭击,几万大军一下子乱了套,被杀死的和落水淹死的数也数不清,2万兵士、一百多艘战船被朱元璋的将士俘获。陈友谅在部将保护下,抢了一条小船,总算逃了命。
这一仗打得陈友谅大伤元气。朱元璋的声势却越来越大。陈友谅哪肯甘心,他养精蓄锐,决心要报这个仇。过了三年,他造了大批战船,又带领60万大军,进攻洪都(今江西南昌)。
朱元璋亲自带领20万大军援救洪都,陈友谅才撤去包围,把水军全部撤到鄱阳湖。朱元璋把鄱阳湖出口封锁起来,堵住敌人,决定跟陈友谅在湖里决战。
第二天,天刚蒙蒙亮,鄱阳湖中的康郎山响起了阵阵战鼓。康郎山是陈友谅的临时指挥所,他三更就命令各船煮饭,将士们饱餐之后,他就指挥战舰向湖口移动。开始挑战了。陈友谅联结巨型战船为降,楼橹高十余丈,舰队一字儿排开,用铁链连在一起,竟有十几里长,像一座水上长城。而朱元璋的水军,却尽是些小船,一些将士被陈友谅的气势吓得脸色都变白了。朱元璋坐在指挥船里,镇定自如,他望望左右将士,忽然哈哈大笑,对刘基说:“我看陈友谅真是呆头鹅,他将这么多大船首尾相接,这样不利于进退,要击破它是很容易的。”刘基知道朱元璋故意这样说,是为了鼓舞士气,也就笑着说:“我还当陈友谅有多大本事呢,兵刃来交,就联舟自保了。这时若有勇士,披坚执锐,乘小船限他周旋,他的阵势立刻就大乱,大船上的人一个个会跌下湖里去喂鱼的!”两人一唱一和,把一些将士的惧怕打消了。
朱元璋见诸将都有了勇气,便命令徐达、常遇春、廖永忠等人分率20队船舰,向陈友谅出击。陈友谅哪里把这些小船放在眼里,命令联结在一起的大船齐头并进,其势如排山倒海,撞翻了一百多只小船。战斗第一天,朱元璋吃了败仗。第二天,朱元璋的指挥船冲在前面,组织各船队向大船放箭。
陈友谅发现了朱元璋的指挥船,便令骁将张定边围攻朱元璋,不惜一切代价将其活捉。正在和敌人酣战的徐达见情况不妙,连忙调转船队去保卫朱元璋。
朱元璋毫不畏惧,驾船灵活地指挥战斗。正当两军厮杀得白热化状态时,朱元璋的指挥船突然在一片沙滩上搁浅,船底像被胶住一样动弹不得。张定边大喜,高声叫道:“朱元璋跑不掉了,弟兄们,活捉朱元璋赏黄金千两”!士兵们齐声呐喊,摇舻云集,把朱元璋团团围住。朱元璋指挥船上的将领宋贵、陈兆先等人,舍命抵抗,身中数十枪,先后倒毙在船头。眼看全船要当俘虏,朱元璋不由得害怕起来,背脊里冒出一阵阵冷汗。在这千钧一发之际,相貌和朱元璋酷似的偏将韩成对朱元璋说:“宋贵、陈兆先都死了,为保主公脱险,我愿代死,请你快将战袍脱下,让我穿上。”朱元璋沉吟不答。这时,只听得敌军要朱元璋投降的呐喊一阵紧似一阵,流矢在船头乱飞,韩成焦急地说:“公主快听我的话脱下战袍,否则,全船将士都要同归于尽,大家都死去有什么益处呢?”朱元璋不得已,只好脱下战袍,让韩成换上。韩成把朱元璋的幅子戴在头上,深情地对朱元璋看了一眼,说道:“主公自重,韩成去了!”朱元璋很不忍心韩成去代死,但事在燃眉,不得不由他去。
韩成冲出船舱,站在船头,高声叫道:“陈友谅听着!我朱元璋今日败在你手里,只有一死。不要再为了你我俩人,劳师动众,让天下生灵无辜被杀戳了?我今日且让你威风,我认输了,你看你看……”说到看字,扑通一声,竟投入水中去了。