朱元璋占領(lǐng)淮東地區(qū)后,對張士誠實(shí)施第二階段攻勢,采取攻取湖州、杭州(今浙江杭州),斷其兩臂的作戰(zhàn)方針。但為了欺騙張士誠,仍聲言進(jìn)攻平江(今江蘇蘇州)。二十六年八月初四,朱元璋以徐達(dá)為大將軍,常遇春為副,率軍20萬由應(yīng)天(今江蘇南京)出發(fā)向太湖進(jìn)軍。十二日,徐達(dá)率軍進(jìn)入太湖。二十日至二十四日,徐達(dá)軍先后在港口(今湖州港口)、毗山(今吳興東北)擊敗張士誠的阻擊軍,俘其將尹義、陳旺、石清、汪海等人,并乘勝進(jìn)至湖州城外之三坐橋。朱元璋軍突然出現(xiàn)于湖州城外,張士誠軍湖州守將張?zhí)祺雮}皇分兵三路出城阻擊。徐達(dá)也分兵三路進(jìn)攻,并以王國寶率長槍軍直迫城下,阻敵歸路。張?zhí)祺朐谀下奋娛『螅泵⒈κ湛s于城內(nèi),據(jù)城堅(jiān)守,朱元璋軍乘勢進(jìn)圍湖州城。
為確保湖州,張士誠派李伯升率軍入城與張?zhí)祺牍彩爻浅?,后又派呂珍、朱暹、五太子帶?萬人(號稱20萬)增援。援軍進(jìn)至湖州東的舊館(今吳興東)后,畏敵不前,筑五寨自固,采取守勢。徐達(dá)見機(jī)遂在東遷鎮(zhèn)(今吳興東之東遷城)南姑嫂橋,連筑10壘,以切斷舊館來援,把湖州城和舊館兩處張士誠軍孤立起來,張士誠親自率兵來救,被徐達(dá)等在皂林(今浙江桐鄉(xiāng)北)擊敗。九月,張士誠又派徐志堅(jiān)率舟師來援,亦戰(zhàn)敗被俘。旋再派q、潘元紹等援救,在平望(今江蘇吳江平望鎮(zhèn)運(yùn)河經(jīng)流處)被常遇春擊敗。
此戰(zhàn),朱元璋軍采取聲東擊西之策,突然包圍湖州,爾后再圍點(diǎn)阻援,各個擊破,迫降湖州,為進(jìn)攻平江創(chuàng)造了條件。