11月3日,譚紹光組織反擊,與淮軍、“常勝軍”(此時華爾已被擊斃,“常勝軍”由美人白齊文統領)戰於黃渡、四江口、白鶴港一帶,後因作戰失利,退守崑山。1863年1月16、17日,太平軍常熟守將駱國忠等殺死忠於太平天國的將領二人和兵士五百餘人,投降清軍,並於19日襲占了常熟北面的福山港。當時,李秀成已由天京來到蘇州,聞訊後立即與譚紹光等率軍討伐常熟叛軍,企圖一舉奪回該城,嚴懲叛徒;同時,派會王蔡元隆(李秀成之婿)入守太倉,以防內變(早已通敵的太倉守將錢壽仁鏇即率二千餘人出城降於淮軍並改姓名為周壽昌)。
由於太倉仍在太平軍手中,淮軍無法從陸路救援常熟,李鴻章便調派“常勝軍”五百人,取道水路往援。因福山港已被太平軍占領,“常勝軍”於2月5日到達時,不得登岸。為此,李鴻章又飭令總兵程學啟糾集清軍萬餘和“常勝軍”二千餘人進攻太倉,企圖打通往援常熟的陸路通道。2月14日,當敵軍進至南碼頭時,憑河據守的太平軍依託工事英勇阻擊。“常勝軍”以洋槍和炸炮(開花大炮)猛烈射擊,太平軍被迫退入城中。15日上午,“常勝軍”頭目奧倫督軍用大炮轟塌南門城牆,淮軍立即渡過浮橋衝鋒,城內太平軍伏兵驟起,用千餘洋槍火力封鎖城牆,大量殺傷敵人,打垮了敵人的進攻。接著,蔡元隆督令守軍從西、南兩門衝出,將敵人趕往望仙橋一帶。“常勝軍傷亡百餘人,外國兵頭亦傷十餘人,一時難期力振。該軍即於二十九日(16日)退回松江”。其後,李鴻章又先後派提督黃翼升、道員潘鼎新、總兵劉銘傳等率水陸師赴援常熟,均未得逞。
4月5日,新任“常勝軍”統領戈登會同黃翼升、潘鼎新等率兵近萬人,攻占了福山港。常熟城內的叛軍立即出城接應,與淮軍、“常勝軍”會合。太平軍圍攻常熟七十餘日,終未能下,譚紹光(李秀成已於2月22日返回天京)不得已於4月6日下令撤圍。淮軍和“常勝軍”占領常熟之後,李鴻章又飭令淮軍加緊進攻太倉,並派員入城策反。太平軍守將蔡元隆將計就計,約定於4月26日“獻城”。屆時,淮軍統領李鶴章(李鴻章之弟)率領一千五百人前往受降,及抵城邊,太平軍伏兵驟起,淮軍大量被殲,李鶴章也險些送命。5月2日,戈登率領“常勝軍”二千八百餘人(內有英軍五百餘名)協同淮軍猛攻太倉,蔡元隆部經頑強抵抗後撤出。淮軍入城後大肆屠殺,遇害者萬餘人。
5月4日,淮軍及“常勝軍”共約二萬餘人乘勝進犯崑山,守將劉肇均等率所部一萬二千人依託堅城闊壕,頑強抵禦。不久,李鴻章親臨崑山督師,他根據戈登的建議①,於5月30日與戈登同乘英軍提供的“海生”號戰艦,率軍一舉攻占崑山西面的正儀,然後回軍東向,會同圍攻崑山的淮軍擊敗譚紹光所率太平軍援兵。崑山太平軍見後路被襲,次日即有七八千人向西撤退。戈登率炮船跟蹤追擊,太平軍損失嚴重。6月1日,太平軍全部西撤蘇州,崑山遂陷,槍彈製造廠隨之落入敵手,使爾後的軍械供應發生極大困難。
敵軍既得太倉、崑山,便準備進攻太平天國蘇福省的首府蘇州。李鴻章分析:蘇常為金陵根本,物產豐富,太平軍必死守力爭;江南多水,進攻不易;歸其統率的清軍兵力僅四萬餘人(包括添募和收降之眾)分布於常熟至金山衛之間的廣闊地區內,能直接用於進攻蘇州的兵力有限。因此,他決定採取“規取遠勢,以翦蘇州枝葉,而後圖其根本”的方針,並擬定了一個“以剿為堵”的三路進攻計畫:中路從崑山直趨蘇州,由程學啟部擔任;北路從常熟進攻江陰、無錫,由李鶴章及總兵劉銘傳部擔任;南路從泖淀湖攻吳江、平望、太湖,切斷浙江太平軍進援之道,由總兵李朝斌率所部太湖水師十營擔任。此外,由黃翼升率淮揚水師往來策應,“常勝軍”則駐崑山為總預備隊,“專備各路游擊援應”。
鑒於蘇南形勢危急,剛由皖北回到天京的李秀成於7月7日到達蘇州,布置防守事宜,不久又返回天京。當時,譚紹光在蘇州主持蘇南軍務,他僱請數十名外國人,教練炸炮,以增強太平軍的防守能力。7月7日,北路淮軍分三支向江陰進攻,太平軍在江陰、常熟之交的顧山、長涇一帶節節阻擊。直至8月下旬,淮軍才進抵江陰城下。9月13日,江陰失陷。北路淮軍既得江陰,李鴻章便令劉銘傳駐紮青暘鎮,副將周盛波部和總兵郭松林部分別進駐無錫芙蓉山與緱山,道員張樹聲等部進駐張涇橋以為後援,李鶴章則督小隊往來調度,準備集中力量攻取無錫,以配合中路、南路軍合擊蘇州。9月24日,郭松林部進占無錫東面的東亭鎮,前鋒抵達無錫南門外。7月26日,中路淮軍因南路李朝斌所部水師尚未開到,改變直取蘇州的計畫,會同戈登率領的“常勝軍”等向吳江開進。29日進抵吳江城下時,太平軍守將開門出降。吳江為浙江太平軍援救蘇州的必由之路,該城失陷,蘇州的南路援絕。
由於蘇南形勢日益惡化,經李秀成再三懇請,洪秀全允其再次離開天京前往蘇州,但限期四十天回京。9月23日,李秀成抵蘇州,本欲召集各鎮將商討對策,以求“會司並進”,“合力解京圍、解省困”。但常州守將陳坤書、無錫守將黃子隆均未應約前來,也未發兵會師,李秀成只得將駐蘇州的郜永寬等部調往蘇州、無錫交界處,與無錫郊外的李世賢部相街接。自10月下旬至11月上旬,李秀成督軍連日向圍攻無錫的李鶴章、劉銘傳等部淮軍發起進攻,交戰於後宅、梅村、坊前、安鎮一帶。面對太平軍的進攻,淮軍“先以堅壁勿戰挫其氣,繼風滾營並進遏其鋒”,加之駐守無錫、常州的太平軍沒有很好地進行配合,因而淮軍得以“穩紮穩打”地對付太平軍。而中路淮軍和“常勝軍”則由滸墅關一帶抄襲李秀成部後路,使其無法集中力量進攻圍困無錫之敵。因此,李秀成部出擊半個月,非但未能擊敗蘇州、無錫外圍之敵,反而損失不少兵力。
蘇州城四面環水,太平軍憑河修築長牆,牆內又築石壘、土營數十座,南自盤門,北至婁門,聯絡一氣。城內穴地為屋,上面覆板堆土,以御炮擊。由於太平軍設防相當堅固嚴密,因此,程學啟、戈登率部圍攻兩月,進展甚微。11月27日,敵軍在護城河上偷架浮橋,調集炸炮,水陸配合,越河進攻。經過激戰,城外東、南、西三面的防禦工事全被毀壞,敵軍直薄城下。李秀成見蘇州城危,於11月30日撤離,由譚紹光堅守危城。此時,郜永寬等發生動搖,私下與敵議降。淮軍以生擒李秀成或斬殺譚紹光為條件。12月4日,郜永寬等八人將慕王譚紹光殺害,開城降敵,蘇州城遂為敵所占。幾天之後,郜永寬等八人均被李鴻章處死。12月12日,無錫失守,黃子隆被俘,不久遇害。淮軍攻陷蘇州、無錫後,遂分兵兩路:一路進窺浙江嘉興,一路準備進攻常州。
12月15日,李鴻章到達無錫,對進攻常州作了部署。接著,提督劉銘傳率部抵達常州西北的陳都橋、羊頭橋、西施橋,前鋒進抵孫村,與常州城僅一河之隔;總兵周盛波等部從無錫出發,經戚墅堰進抵常州城東十五里的擂鼓橋、白家橋,前鋒抵三里橋一帶。與此同時,常州西北奔牛鎮的太平軍守將邵志綸投敵,西路交通受到很大威脅。1864年2月,戈登率“常勝軍”自崑山出發,經無錫攻宜興,以截斷浙江太平軍北援之路。3月2日,宜興失守;8日,溧陽守將降敵,常州南路被敵截斷。
3月8日,太平軍常州守將陳坤書曾會合自句容、丹陽來援的林紹璋、陳承琦等部援軍,對奔牛鎮之敵進行反擊,結果失利。於是,陳承琦、李容發等率部自常州循江東進,15日攻江陰未下,17日攻常熟又未下,乃於18日占福山,20日又往攻無錫。李鴻章大為震動,急調郭松林部和“常勝軍”回救,並從常州外圍調李鶴章部回守無錫,調張樹聲等率三千人駐紮江陰南面的青暘,從嘉興前線調鄭國魁水陸三營馳援常熟。3月下旬,清援軍趕到常熟外圍的顧山、王莊一帶,與太平軍展開激戰。太平軍被迫撤常熟之圍,退至江陰境內。31日,陳承琦部於江陰東南的華墅襲擊回援的“常勝軍”,使其“全隊八百人覆沒”。太平軍繳獲洋槍四百餘桿。4月11日,李鴻章督令各路援軍對華墅進行反撲,太平軍予敵以重大殺傷後退回常州、丹陽。
太平軍陳承琦、李容發部深入敵後作戰,打亂了淮軍的進攻部署,迫使李鴻章不得不從前線抽調部隊回援,減輕了對常州等地太平軍的壓力。可是,這支部隊深入敵占區後,仍熱衷於圍攻城市,並與回援之敵進行正面對陣,而沒有堅持遊動作戰,因而最後仍難免被敵人擊敗。淮軍在肅清突入江陰、常熟、無錫境內的太平軍之後,又聚集於常州外圍。4月22日,淮軍水陸協同,攻占了常州西南的陳渡橋,太平軍通金壇、丹陽之路均被切斷。23日,常州城外的要點盡失,太平軍全部退入城內。27日,大南門、小南門和北門城牆被淮軍轟塌數處,太平軍頑強抵抗,多次擊退敵之衝鋒。後淮軍在城壕外構築長牆,移近炮位,並在晚間於護城河上偷架浮橋。5月10日,淮軍發起總攻,以大炮對準舊缺口猛烈轟擊。至11日,南城、北城各被轟塌十餘丈,淮軍由缺口沖入。太平軍與突入之敵展開激烈的巷戰,淮軍付出了重大代價才占領常州城。陳坤書被俘後慘遭殺害。4月25日,清軍提督鮑超部陷金壇。5月13日,清軍提督馮子材部陷丹陽。至此,蘇南各城全部被清軍攻陷。