陈友谅气数已尽,接着轮到张士诚了。张士诚听说朱元璋西征,就趁机攻城略地,还自称吴王,建府第,置官员,任用亲弟弟张士信为左丞相,妹夫潘元绍为参谋,一切政事都由他们二人做主。张士信荒淫无度,整天玩乐,张士诚的军队是一片乌烟瘴气。
朱元璋决定讨伐张士诚,命徐达为大将军,常遇春为副将军,率领二十万大军出征。
他问二人准备先打哪里,徐达准备直捣平江,朱元璋说要先攻湖州,再移兵平江,这样才能稳操胜券。然后,又对徐达交代要提防降将熊天瑞,不要将计划告诉他,此人必会去张士诚那里通风报信。
徐达与常遇春领命而去,朱元璋又约李文忠攻打杭州,华云龙攻打嘉兴,同时发兵,牵制张士诚的势力。
徐达、常遇春率兵二十万,从太湖攻向湖州,沿途战无不胜,擒住了尹义、陈旺、石清、汪海等人。张士信驻守昆山,闻风而逃。路上,熊天瑞果然逃回张士诚那里报信。于是,徐达传令火速前进,直达湖州的三里桥。
张天麒听说徐达要来攻打,急忙率领偏将黄宝、陶子宝等人,分道迎战。黄宝从南路出兵被常遇春擒获,张天麒、陶子宝得知黄宝被擒的消息,不战自退。徐达领兵围住湖州,直到李伯昇派荻港潜入城中,城中守兵才稍稍安定下来。
徐达原本想要在城的四周排兵布阵,截击援军。没想到来的是张士诚的部将吕珍、朱暹以及五太子等人,他们率兵六万,已经到了城东。于是,徐达和常遇春决定小心应对,由徐达围城,常遇春截击援兵。
常遇春率兵来到姑嫂桥,连续筑下十个堡垒,防守要隘。吕珍等人不敢上前,只好在城东设下五个寨子,与其相持。常遇春也不与他交锋,只截断了他的粮道。
后来,张士诚的部将徐志坚带水兵偷袭姑嫂桥,被活捉。五太子因屡遭挫败,一气之下集合水兵攻打常遇春的大营。双方厮杀起来,常遇春稍逊一筹,险些被五太子击退。正在此时,薛显顺风纵火,把五太子的兵船烧得乌黑。
五太子只好逃了回去,与吕珍、朱暹等人商议出一条纳款输诚的计策。于是,湖州城内的李伯昇、张天麒交了降书,湖州被徐达和常遇春攻占。
张士诚听说湖州沦陷,急得手足无措。不料又传来杭州、嘉兴也沦陷的消息,他不由得魂飞天外。后来,吴江沦陷,张士诚的参政李福、知州杨彝降了敌。张士诚急忙调兵登城,严防死守。
第二天一早,张士诚登上城楼,就看到四面八方都竖着敌军的旗帜。各军磨刀霍霍,弄得他只好命一班勇胜军加强防守。勇胜军十分厉害,徐达等人昼夜猛攻,都不能得手。俞通海带兵攻下太仓、昆山、崇明、嘉定各县,回来复命时,见平江还没有被攻下,于是率先猛扑,身中数箭而亡。
几个月过去了,张士诚非常焦躁,竟派徐义、潘元绍等人带着勇胜军潜出西门,绕到虎丘,袭击常遇春的大营。常遇春与王弼会师赶去拦截,两军相会,互相拼杀起来。常遇春的部下杨国兴被杀,王弼冲入敌阵,常遇春乘机掩杀过来,竟将张士诚的士兵逼到沙盆潭。情急之间,张士诚连人带马堕入潭中,差点儿淹死。等被救上岸,张士诚的勇胜军也死伤大半,他狼狈地逃回城中。
这时,有位高人劝张士诚投降。他踌躇了一个晚上,决定不降。随后,他带兵冲出胥门,被常遇春杀退。张士信督兵守城,被飞炮击中脑袋,当场死去。熊天瑞拼死抵御。
徐达攻了很多天,死伤无数,才破葑门,常遇春也攻破了阊门。守将唐杰、周仁、徐义、潘元绍等人招架不住,先后投降。
张士诚带着两三万残兵败将,在万寿寺东街坚持巷战。那时张士诚大势已去,士兵们很快就纷纷逃散。张士诚逃回内城,徐达等人乘势杀入。
徐达派人劝张士诚投降。没想到张士诚打算吊死在梁上,被救下后送往应天。朱元璋本想保全他的性命,最后张士诚还是乘人不备,自缢身亡。
攻下平江,江东大定,朱元璋决定分道出师,一路攻打中原,一路平南方。
蔡公曰
若张士诚以泰州盐侩,据有浙东,拓及吴江,设能礼贤爱民,明刑敕法,则江南虽小,固可坐而王也。况乎朱、陈相竞,连岁交兵,彼为蚌鹬,我为渔人,宁不足以制胜?乃优柔寡断,内外相蒙,卒予朱氏以可乘之隙。至于兵败地削,孤城被围,齐云一炬,阖室自焚,妻孥且不保,亦何若长为盐侩之为愈乎?
士诚始叛元,继复降元,又继复叛元,反复无常,一盗窃所为,被虏不食,自经而死,何足道乎?