曾國荃進攻南京,太平軍首領李秀成率領部隊趕來救援。曾國藩害怕弟弟有閃失,急忙傳令江浙部隊趕去助剿,等了好久都沒去,這時南京和蘇、浙三地都在血戰。
曾國荃的部隊不到一萬,加上楊、彭兩路水師還不到二萬人,又因瘟疫盛行,接連死人,正在危急關頭。突然聽說李秀成帶了幾十萬太平軍從蘇常趕過來,曾國荃誓死固守,提前挖好壕溝,修築堡壘,準備迎戰。剛佈置好,李秀成已經趕到了,率兵猛撲,曾國荃堅守不動。李秀成攻不進去,就結成營壘二百多座,包圍了曾國荃的大營。
曾國荃日夜不安,只是指揮三軍,拼命防禦。李秀成讓手下輪番進攻,前隊不勝,後隊接著上,後隊不勝,前隊又上。曾國荃也真是好本事,就這輪番的車輪戰都能頂得住,愣是一動不動。接連十晝夜,彼此都沒有休息,到了第十天早上,炮聲陡發,在山谷間迴盪,把大營都震得搖晃不定。
曾國荃的部將倪桂急忙率軍堵截,突然飛過來一顆炮彈,滴溜溜滾落下來,撲的一聲,炮彈炸開,遍地都是火星。倪桂被火燒著,當場斃命。士兵都說:「這是開花炮!這是開花炮!」話還沒說完曾國荃已經怒馬衝出來,把第一個喊開花炮的人,一刀削掉了腦袋,竟然親自上陣抵擋炮彈。正趕上第二個炮彈又來了,曾國荃用手裡的令旗對著炮彈一掃,炮彈掉進了壕溝裡,沒有爆炸。士兵一看,才知道這玩意兒,也不是個個會炸的,膽子一壯,自然向前進攻。曾國荃下令,將火箭、火球飛擲出去,太平軍雖然死了不少,但仍然不撤退。
第二天,天氣陰沉,夾雜著小雨,開花炮更沒有多大威力了。一連下了好幾天雨,太平軍用槍來進攻,曾國荃就讓士兵用槍還擊,始終相持不下。曾國荃臉上中了一發子彈,血流滿面,他忍著痛,繼續帶兵奮戰。士兵見主帥這麼拼命,當然也就跟著拼命。
到第十六天,李世賢又從浙江趕來,帶著無數人馬,來協助李秀成。望過去差不多有十幾萬,一到壕溝外,就拼命猛撲。這時候,曾營這邊,已經九死一生,逃又沒地逃,躲又沒地躲,索性拼了命,跟太平軍死磕,殺了兩晝夜,才終於稍稍休息。除了已死的將士外,沒有一個不是汗透重衣,手腳麻木。解開戰袍,有重傷的,也有輕傷的,曾國荃親自給戰士包紮好,將領和士兵同甘共苦。這些人非常感動,更是卯足了勁兒。
過了幾天,太平軍反而攻打得不起勁兒了,似乎有些懈怠。曾國荃跟手下的將士說:「大家要警惕啊,這是敵人的陰謀詭計!」
果然到了第二天早上,一聲怪響,土石紛飛,堡壘被炸塌了好幾米,太平軍繞過矮牆,前赴後繼地攻過來。曾國荃立刻讓士兵扔火球,夾雜著槍炮,足足支撐了三個小時,這才把攻進來的太平軍擊斃了幾千名,終於把缺口堵上。
太平軍又白費心思,懊喪地回了營。接著太平軍又開始暗地裡挖地道,偷偷埋火藥。曾國荃把部隊分成三隊,一隊負責防堵,一隊負責增築內牆,一隊專門負責檢視敵人挖地道。太平軍挖了七個地道,都被曾營發現,率先給堵上了。太平軍也開始洩氣,守兵卻還有餘力。
曾國荃竟下令出戰,鼓號一響,隊伍像潮水一樣衝出去。太平軍見了,都大驚失色。當下曾國荃衝破十幾座營敵,殺了幾百人,這才回營。太平軍一看攻不下曾營,就分兵去截糧道。糧道已經被曾國葆保護起來,防得非常嚴密,只是曾國葆也感染了瘟疫,寒熱交加,他強打起精神,帶兵出戰,跟太平軍打一仗,勝一仗。曾國荃又分軍接應,又把太平軍給殺退了。
從同治元年閏八月十九起,直到十月初四,共計四十六天,曾國荃目不交睫,衣不解帶,跟太平軍相持,憤恨至極,士兵也怒氣填胸。初五早上,太平軍又來環攻,曾國荃率領全營軍士開營出戰。這次比上次厲害,真是一當百,百當千,千當萬,踏破敵營幾十座。太平軍望風披靡,就像瓦解土崩一樣。
李秀成、李世賢抵擋不住,只好分路撤退。曾國荃大營之圍才終於解開,這是湘軍的第一場惡戰。
曾營裡的將士,基本已經走形了,一個個的都骨瘦如柴,曾國荃也疲憊不堪。曾國葆竟然一病不起,於十一月十八日死在軍中。曾國葆字季洪,改名貞幹,是本籍諸生,從軍後因為戰功,被任命為同知,這才又被提拔為知府,卻因為積勞成疾病死了。於是由李鴻章上報,請求特別嘉獎,朝廷就以二品官待遇安葬了,諡為靖毅,還專門建了祠堂。
李鴻章率領江淮將士,正打算出發,恰好趕上江蘇紳士錢鼎銘、潘馥等人準備了銀兩十八萬兩到安徽迎師。
李鴻章就乘坐小船,跟程學啟、郭松林諸將一塊兒抵達上海。上海是各國的通商碼頭,跟蘇州相近,太平軍佔領了蘇州,還想攻佔上海,蘇松太道吳煦聯合英、法各軍,設立會防局,分頭防禦。美人華爾出守松江,連破太平軍,出力尤多。等李鴻章到了上海,外軍見他的部下計程車兵全都穿得像叫花子一樣,都忍不住大笑。
李鴻章說:「士兵關鍵在於能打仗,不是外表好看,等我試了以後,你們再笑也不遲!」
忽然有吳縣諸生王韜求見,被李鴻章召進去。王韜獻計說:「這裡的大官,多次藉助洋兵攻敵,我看不如招募些洋兵,讓洋人當教練,教怎麼使用火槍,讓本國計程車兵來充數。肯定效果不錯!」李鴻章也覺得這主意不錯。
王韜走了以後,道員吳煦來求見,李鴻章就問他洋將的優劣。吳煦說:「英國水師提督何伯、法國水師提督卜羅德都願意幫助中國,但他們是外國艦長,不受我們管理。我看最好是美國人華爾,他因為在本國犯了罪,所以逃到上海,經過我和美國大使商談,替他洗刷罪名,這才替我教練洋槍。他已經死心塌地為我方出力,如果招他練兵,肯定不會亂來。」
李鴻章大喜,就讓吳道臺把華爾找來。不到兩天,華爾就趕來了。李鴻章說了不少好話鼓勵他,讓他盡心盡力地訓練士兵。華爾一口答應。於是招募了三千士兵,讓華爾訓練,取名常勝軍。
正好朝廷下令讓李鴻章代理江蘇巡撫,李鴻章剛開始管理軍事工作,兼管國土資源什麼的,就讓參將李恆嵩和華爾一塊兒,並聯絡英、法兵,攻克嘉定、青浦二城。英提督何伯請李鴻章一起攻打浦東廳縣,於是讓程學啟、劉銘傳、郭松林、滕嗣武、潘鼎新諸將進兵南匯縣的周浦鎮,作為北路;英提督何伯、法提督卜羅德從松江進金山衛,作為南路。
兩軍剛出發,忽然接到訊息說,李秀成出攻太倉州,知州李慶琛兵潰,李秀成進攻嘉定,洋兵敗走,嘉定再次淪陷,青浦垂危。李鴻章立刻調派程學啟趕去防守虹橋,截擊李秀成,又寫信請求英、法兩提督趕去救援青浦。
這時英法兩提督正攻克奉賢,接到李鴻章的來信,立刻帶兵趕去青浦,剛好遇到李秀成的部隊,兩下開戰,卜羅德中槍身亡,何伯被嚇跑。華爾正守青浦城,看到英、法各軍敗潰,也突圍逃到松江。李秀成直接侵犯上海,逼近程學啟的軍營。程學啟只有八百士兵,李秀成的手下卻不下十萬,眾寡懸殊,程學啟卻毫不害怕,親自登上城牆,看到太平軍圍了幾十遭,他就放炮轟擊太平軍。太平軍九戰九退,屍體填滿了壕溝,士兵踩著屍體登城。忽然從東北角上來了一支大隊,旗幟飄揚。
程學啟用望遠鏡一看,就看見旗上寫著「署江蘇巡撫李」六個字,知道是李鴻章來救援了,立刻大吼一聲出擊。太平軍先是驚愕,緊接著就敗走了。李鴻章和程學啟合軍追殺過去,刀斬斧劈,就像削瓜切菜一樣,殺得沿途都是血水。李秀成帶來十二個首領,全都抱頭鼠竄。這次勝利傳到洋鬼子耳朵裡,他們這才知道淮軍勇猛,再也不敢笑話了。
清軍緊接著又收復了南匯、金山衛、青浦、嘉定。太平軍首領慕王譚紹洸、聽王陳炳文又集合蘇、杭、嘉興的太平軍從崑山、太倉侵犯,李鴻章急忙傳令諸軍堵截,聽從程學啟指揮。程學啟分道進擊,譚、陳兩位首領退據三江口,譚紹洸屯守江北,陳炳文屯守江南。
李鴻章親自去督戰,讓劉銘傳當中堅,郭松林當左路,程學啟當右路,從早晨打到傍晚,太平軍始終不退。郭松林、劉銘傳率領士兵冒死越過壕溝,匍匐前進。有黃衣首領登牆迎戰,被郭松林瞅準要害,一槍穿胸,黃衣首領掉到地上,太平軍一陣喧譁。程學啟乘勢攻進去,身中數傷,仍然帶傷進攻,太平軍不能抵擋,邊打邊走。官軍三面掩殺,太平軍大敗而逃,松滬解除戒嚴,朝廷下令讓李鴻章正式擔任江蘇巡撫了。
這時寧紹臺道史致鄂因為太平軍攻陷慈谿,向上海求救。李鴻章就讓華爾率領常勝軍趕過去救援,收復慈谿城。華爾中炮死了,常勝軍回到松江,由美國人白齊文代替率領。沒想到白齊文關上城門索要軍餉,還到處劫奪。李鴻章解除了白齊文的軍權,勒令他回國,另用英將戈登率領常勝軍。白齊文反而投靠李秀成,暗地裡想害李鴻章,不久之後就被浙軍抓住了,在送到上海審訊的途中翻船淹死了。
李鴻章既然已經解了松滬的圍,打算再收復蘇、常,就招降常熟的太平軍首領駱國忠和太倉太平軍首領錢壽仁,搗福山,取崑山,逼蘇州。李秀成從南京失敗返回,跑到江北,聽說寧國府城已經被鮑超攻破,東西梁山又由曾國荃分軍守禦,於是逃回蘇州。
正趕上李鴻章督兵進攻,李秀成急忙趕來支援,一路趕到常熟,遠遠望見城上刀槍齊列,為首一員將官面目很熟,仔細一瞧,正是駱國忠,只是已經改穿清朝服裝了。
李秀成大喊:「你怎麼背叛了天朝?」
駱國忠說:「忠王!你也是一代豪傑,難道還不識時務嗎?洪秀全眼看就要滅亡了,你不如下馬投降,免得玉石俱焚。」