曾國荃和彭玉麟在天京的西南方奮力爭奪地盤時,在江蘇的東南角上,李秀成的太平軍正在與外國軍隊奮戰。

華爾的洋槍隊於5月17日會同英法聯軍攻克奉賢。法國提督卜羅德中槍身亡。清廷下詔,賞給卜羅德的家屬貂皮和彩絨,以示撫恤。

洋槍隊和英法部隊於5月18日攻克柘林。李秀成身在蘇州,聽說嘉定和青浦已經丟失,親自率部增援太倉。

清廷知府李慶琛正在率部攻打太倉,兵敗身死。太平軍出動所有精銳攻打青浦和嘉定。英法將領見太平軍兵力強大,十分害怕,命令部隊突圍,掩護主力撤出嘉定,並強攜清廷官吏一同撤走。太平軍重新進占嘉定。英法部隊返回上海,不再出兵。

太平軍乘勝南下青浦和鬆江,攻打泗濱,將守軍全部驅散。接著,李秀成分兵奔赴虹橋與漕河涇,距上海隻有二十裏。

李鴻章知道現在湘淮軍必須唱主角了。5月30日,他急令程學啟等人率部從浦東返回上海,扼守虹橋。在安慶向曾貞幹投降的程學啟,現在是他手下的一員大將。

程學啟的部隊行動迅速,於6月2日在漕河涇打敗太平軍,第二天又打敗從泗濱增援的太平軍。然後,程學啟率領一千五百人推進到新橋涇紮營。劉銘傳和潘鼎新的部隊攻克南匯和川沙,浦東逐漸安定。

太平軍一時無法深入上海周邊,便回頭對鬆江發起猛烈的圍攻。華爾和李恒嵩分兵在各個城門攔截,太平軍傷亡頗重。華爾得知青浦被圍,提議放棄青浦。6月9日午夜,他從洋槍隊中挑選出精銳的軍士,突然擊破天馬山,從炮路突入青浦,將米糧軍船全部焚毀,然後死戰出城,集中兵力防守鬆江。

李秀成繼續集結兵力,準備再次攻擊上海。6月17日,太平天國聽王陳炳文和納王郜雲官率領幾萬人攻打新橋,將程學啟的軍營包圍幾十層,填塞濠溝,拔掉鹿角。程學啟發現已經來不及用槍炮禦敵,便命令軍士們向太平軍扔擲磚石,太平軍戰士們紛紛倒下,屍體填平了濠溝,仍然前仆後繼,踏著屍體攀登。程學啟下令用劈山炮轟擊,然後揮軍出營,一陣反衝鋒,將太平軍擊退。

但是,太平軍的另一支部隊已經越過新橋十多裏,眼看就要攻入上海。李鴻章親自帶領七營兵力堵截,在徐家匯與太平軍遭遇。張遇春奮力將太平軍擊退,追到新橋。程學啟看見自己人的旗幟,大聲呼喊,揮軍出擊,前後夾攻,打得太平軍大敗而逃。

外國軍隊目睹這次戰鬥,自歎不如湘淮軍。從此湘淮軍在上海名聲大振,無論是中國人還是外國人,都不敢再揶揄李鴻章的部屬了。

曾國荃的部隊已在雨花台駐紮。清廷仍然打著如意算盤,想一舉攻下金陵,再次命令李鴻章率部趕赴鎮江,助攻天京。

李鴻章回奏說,他接到曾國藩的文書,知道曾國藩很擔心進攻金陵的兵力過於單薄。而曾國荃也說湘軍隻能包圍金陵的西麵和南麵,挖掘深溝,修築高壘,以水師為根本,以江麵為糧路,首先穩住自己的陣腳,再設法對付太平軍。若要合圍,必須增加兩萬兵力。

李鴻章說,他知道金陵是一座大城,城防堅固,和春與張國梁統帥八九萬人的大軍,長久圍攻,仍然功敗垂成。現在江蘇和浙江到處都是太平軍的占領區,太平軍可以從各處增援金陵,比往年具有更大的優勢。幸虧湘軍用兵穩重,才比其他部隊有更大的把握。

曾國荃的兵力還不到兩萬人,不足以合圍金陵,也就不能置太平軍於死地。這次李秀成攻擊鬆江和上海,負傷撤走,聽說還將聯合杭州與湖州的部隊,一起救援金陵。湘淮軍很想前往鎮江,就近增援曾國荃。無奈他原來所部陸師隻有幾千人,分為兩處,都不得力,專用在一處,則還能自立。軍事重大,他不敢輕易地對待。

上海的官民,一向倚仗洋人保守平安。可是,當太平軍的援兵到來之前,洋人分兵四處,等到太平軍增援大軍到達之後,洋人卻按兵不動了。揣摩洋人的意圖,似乎不是暗中與太平軍溝通,坐觀成敗,而是害怕太平軍兵力太多,不敢迎戰。由此可見,不能一味地依靠洋人,必須靠自己的部隊加強上海的防禦。作為江蘇巡撫,他既不能放棄上海這個餉源,又不敢拖延對鎮江的增援。曾國藩那裏似乎也派不出統領部隊的大將來上海了。請朝廷容許他將上海這邊的事情辦妥之後,再移師出江。

清廷下詔,批準湘淮軍暫緩增援鎮江。