七月,朱元璋亲率大军至鄱阳湖,与陈友谅决战。开战第一天,徐达冲锋在前,率部下击退敌军前锋部队,杀敌一千五百余人,缴获一艘大船。俞通海等将发起火攻,烧掉敌船二十余艘。徐达战船着火,敌军乘势反攻。徐达奋不顾身,带头扑灭大火,拼死搏战,与朱元璋派来的援兵一起杀退敌军。
两军于湖上相持不下。朱元璋担心张士诚乘虚进犯,便命徐达连夜回应天负责守备。徐达在应天修城备粮,整顿士卒,警惕防守,使朱元璋得以无后顾之忧。
鄱阳湖一战长达三十六天之久。朱元璋依靠火攻终于大胜敌军。陈友谅在激战之中被飞箭射死,全军失去主帅,溃退回武昌。
年(元至正二十四年)正月,朱元璋在应天自立为吴王,设置百官,建中书省,以李善长为右相国,徐达为左相国,常遇春、俞通海为平章政事。
朱元璋从起兵以来,部下将帅中最著名者有三人,第一位就是徐达,其余两人是常遇春、邵荣。
朱元璋消灭了兵强地广、雄踞长江上游的陈友谅,解决了四面的强敌,自己的军力地盘也更加壮大。他的下一个进攻目标,便是割据东吴的张士诚。
张士诚是淮南泰州(今江苏泰县)人。泰州靠海,居民都晒盐维生。张士诚兄弟几人从小到大,是靠撑船贩卖私盐混光景。他为人仗义疏财;是当地私盐贩子的头目。地方上的大户和官府常常欺侮勒索盐船,人们早就怨恨在心。年,张士诚趁着天下义军蜂起的形势,带着兄弟朋友共十八位壮士,举事造反。贫苦农民、盐民、无业游民群起风从,很快攻下泰州、高邮,占据了三十六个盐场。张士诚自称诚王,国号大周。
经过六七年的扩张经营,张士诚占地两千余里,盛产粮食,又有鱼盐桑麻之利,人口众多,最为富庶。但他生性持重,待人宽和,遇事缺乏主见,只想守住自己的地盘,无甚大的野心。他手下的武将文臣,大多是当年穷困潦倒的江湖朋友。如今有了地盘,成了气候,这些人个个贪图享乐,争着修房子建园子,平日里更是伎优声色,歌舞宴乐,已经很快地腐化败落了。
从元至正十六年()起,朱元璋便与张士诚接境,双方互相攻伐,大小冲突不断,僵持了近十年时间。由于朱元璋以全力对付陈友谅,所以对张士诚基本上取守御之态。