陈友谅率部逃走后,又去围攻南昌。朱元璋听说后前来支援,陈友谅急忙撤到鄱阳湖迎战。双方交战,不分上下。战事正焦灼时,刘基说:“主公暂且收兵,我自有良策。”朱元璋随即传令收兵。退到十里之外才停泊下来,商议战事。刘基说可以用火攻。朱元璋说:“徐达、郭兴也这么说。但是敌船有几百艘,哪能烧完?况且纵火要仗风势,江上的风飘忽不定,此事很棘手啊。”刘基笑着说:“放心,你是真人,必会有风来相助。”说完,又附在朱元璋的耳边传授密计。朱元璋听后大喜,随即命常遇春等人进舱,吩咐一番后叫他们去准备。
这时天色暗下来,江面上忽然刮起一阵大风,阵阵吹向西南方向。陈友谅正带兵巡逻,远远看见江中来了七艘小船,上面载满了士兵,正顺风直进。陈友谅料定是敌军入犯,连忙命人搭弓射箭。谁知船上的士兵,好像都有避箭诀,一个也射不倒。小船反而越驶越近。知道射箭无用,陈友谅急忙改用槊刺。可槊都刺到敌兵的胸膛里去了,敌兵还纹丝不动。过了一会儿,那敌兵竟然随着槊一起过来了。
陈友谅仔细一看,原来是戴着头盔、身穿铠甲的草人。众人正在惊疑,忽然敌船抛来铁钩搭住了大船。舱板里面的死士将硫黄、火药以及蘸着油渍的芦苇等东西,纷纷抛向大船。刹那间烈焰腾空,大船全被点着了。陈友谅急忙令士兵扑灭。怎奈风疾火烈,四面燃烧,扑不胜扑。常遇春等人又领兵杀到,陈友谅心慌意乱,连连叫苦。不到一会儿工夫,陈友谅的两个弟弟全部战死。陈友谅回天乏力,只好麾兵西逃。
陈友谅逃了一段路,见已经甩掉敌船,顿时咬牙切齿,他与诸将商议道:“朱元璋诡计多端,竟然用火攻!我看见了朱元璋乘坐的大船,船身是白色的。明天出战,只要看见白色的战船,马上合力围攻,只有杀了他,才能泄我心头之恨!”部众领命。
到了第二天,陈友谅又击鼓前来。只见满眼都是白色的战船,士兵们顿时面面相觑。无奈已经出战,不好退回,他们只得硬着头皮上前交战。朱元璋正在船里麾兵督战,忽然刘基跳起来大声喊道:“主公快换船!”朱元璋来不及细问,急忙照着他的话,改乘别的船只。刘基也跟着跳了过去,高兴地说:“难星过了!难星过……”话还未说完,只听一声炮响,原来的船已经被炸裂。朱元璋又惊又喜,急忙询问刘基:“此后还有难星吗?”刘基说:“难星已过,主公尽可放心!”于是朱元璋麾船前进。原来刚才陈友谅高坐在舵楼上,辨出朱元璋的坐船,连忙下令用炮击碎。以为朱元璋必死无疑,不料他又派兵杀来,不禁大吃一惊。
一时间,朱元璋的将士勇气倍增,呼声震天,吓得敌船大乱。朱元璋的部下杀一阵,烧一阵,刀兵水火面面俱到。陈友谅狼狈至极,幸亏部将拼命保护,才得以突出重围,退到鞋山。朱元璋带兵追到罂子口,因为水面狭窄,就在口外停泊。陈友谅不敢出战。一连过了几天,才见陈友谅冒死出来,众人急忙迎头痛击。陈友谅逃命要紧,顾不上士兵,甚至连家眷也没有带,只带着部将乘着别的船,偷偷渡到湖口。
朱元璋派兵穷追不舍,突然有人禀报,说陈友谅逃到泾江,被泾江的士兵袭击,中了一箭,穿透了他的脑袋,已毙命了!朱元璋派人擒拿俘虏,共抓来几千人,一一查核。他见其中有一个美妇和一个少年,问其姓氏,才知道那美妇是陈友谅的妃子阇氏,少年是陈友谅的长子陈善。陈友谅称帝四年,死时年仅四十四岁。长子陈善被处死,朱元璋见阇氏十分貌美,就据为己有。
朱元璋凯旋班师,到了应天府之后论功行赏,大摆宴席,庆祝了好几天。第二年是元朝至正二十四年(1364年)。正月初一,因李善长、徐达等人屡次上疏,朱元璋即吴王位,设立百司官员,行庆贺礼。同时任李善长为左相国,徐达为右相国,刘基为太史令,常遇春、俞通海为平章政事,汪广洋为右司郎中,张昶为左司都事。朱元璋随即昭告文武百官:“你们为了天下苍生考虑,推我为王。如今刚刚立国,更应该正纲纪、严法令。元朝皇帝昏庸无能,官员作威作福,以致天下大乱,还望各位将相励精图治,千万不要重蹈覆辙!”众部将赶快跪下答应。