太平军也不是省油的灯,见正面无法抵挡洋人的炮火与洋枪,即改为四面开花、全面出击。青浦、嘉定的太平军直扑泗泾、七宝等处,太平军常熟守将骆国忠进至王家寺,忠孝朝将陈炳文率军攻金山,谭绍光自率主力击南翔、黄渡一带。几路进攻之下,清军与洋兵气焰稍敛。
可洋枪的威力毕竟巨大,太平军尽管用的是“人海”战术,又分散兵力用以牵制敌人,损失还是不小。在随后的王家寺一战中,英法联军出动两千余人,华尔率领“常胜军”千余人协助作战,对太平军大营进行冲击,太平军奋力反抗,击伤英军提督何伯,洋将洋兵几十人,终因火力不支撤退,退至青浦。洋兵也不追击,自回上海。
正在这时,李鸿章率领的淮军第一批两千余人乘英国轮船抵达上海,不久淮军程学启、潘鼎新、刘铭传等部也相继抵达,共计六千多人。李鸿章接替薛焕成为江苏巡抚,薛焕改为在上海办理洋务。
李鸿章一到,立命参将程学启、潘鼎新等部会同“常胜军”、英法联军攻青浦、嘉定、奉贤。
参将程学启时为淮军第一大将,此人原为太平天国将领,曾国荃围安庆时带三百人投降曾国荃。在湘军里,程学启起先不受信任,对其防范甚严。这时候,湘军掘长濠困安庆,曾国荃军扎濠内,命他带所部屯濠外,抗拒救兵,没有命令不得入濠内,濠内置炮对其军,濠上搭桥梁,每天从濠内运薪米,既运,撤濠梁。程学启也不怨恨,只带所部抵死抗拒太平军救兵,苦战数月,为陷安庆立下大功。此后,曾国荃遂不疑虑,成为湘军的干将,统领湘军开字营,官封参将。
咸丰十一年冬天,太平军向上海进军,上海各界派代表到安庆向曾国藩乞师请援,曾国藩没有兵力可分,命李鸿章招募淮军救应上海。淮军成立后,曾国藩特拨程学启开字两营为加入淮军序列,协助李鸿章收复苏南。起程时,曾国藩亲送程学启上船,并以第二个张国梁勉励,张国梁是天地会降将,官至江南大营军务帮办,一直深得清庭信任。果然,程学启不负所望,在攻打苏南时异常卖力。不久,即受曾国藩保奏,被清廷以总兵加提督衔,授江西南赣镇总兵。
在淮军和英法联军、“常胜军”的新攻势下,太平军全面溃退。三月十五,太平军谭绍光、纳王郜永宽、忠二殿下李容发等部被英法联军击败,退出上海外围。三月二十八,嘉定无援,被清军占领,四月初九,青浦失陷,四月十九,奉贤太平军退出县城。
忠王在苏州接到攻上海太平军失利的消息,立即调集精锐五六万大军,前来迎敌。
李秀成本部实力强大,不仅有洋枪队,还有几十名洋兄弟,帮助其出谋划策、训练洋枪队、购买与运送武器。著名的有太平军国际友人呤俐等,呤俐后根据自己的亲身经历写成了《太平天国革命亲历记》,使西方国家对太平天国起义的真面目有所了解。
四月十二日,李秀成挥师从昆山向太仓进发,与清军大战于太仓,太平军力破敌阵,击毙外国侵略军数百名,追击落水死的千余名。清军营三十多座被打破,杀清知府李庆琛,清军几乎全军覆没,缴获的大炮洋枪不计其数。李秀成部将守奉贤南桥镇的也把法国海军提督卜罗德击毙。
其后,忠王李秀成分军围攻青浦、松江等城,自攻嘉定。英法联军接嘉定告急,连忙援助,在南翔与太平军接仗,被太平军击败,英法联军兵少,不敢再战,逃回上海。太平军乘势进攻嘉定,清守军四散,嘉定再次占领。
再克嘉定后,李秀成率主力三万增援攻青浦之听王陈炳文、纳王郜永宽部。太平军大军压境,士气正旺,猛击青浦、泗泾等地清军,副将李恒嵩,参将林丛文、姚绍修、郭太平等营盘皆溃。华尔率“常胜军”来青浦救援,亦遭惨败。太平军除一部继续围攻青浦,并于三日后克之外,其前锋东进至七宝、虹桥。
围攻松江府城的战事最为激烈。太平军堵王黄文金受命进攻松江,黄文金人称“黄老虎”,作战勇敢,擅长攻坚战。李鸿章接报,连忙从上赶赴新桥,就近指挥,令程学启、郭松林等出兵牵制攻城太平军,知府贾益谦、副将李恒嵩调军驻扎南门,“常胜军”亦移驻城内,协助清军力守松江。
五月初一,太平军占领城外妙严寺土山,增筑炮台,架设大炮,猛攻松江城,守城清军开炮还击,双方战斗三日,各有伤亡。这时,宁波失陷,华尔所调的“常胜军”三百名从宁波赶到助战,于城外毁妙严寺太平军炮台。城内的守军乘势分门扑出,太平军战败。
攻松江之势受挫,李秀成决定撤松江之围,先克上海,上海一克,清军无所依托,其势自衰。五月十四日,忠王率慕王谭绍光、纳王郜永宽等部五六万太平军,分十余路进向上海。太平军先包围新桥程学启营,进至徐家汇,直逼租界与上海县城一带。次日,李鸿章亲带同知张树声、参将张遇春、郭松林等分三路驰援,与太平军大战于徐家汇、虹桥。淮军得外国支持,全副洋军装备,战斗力自然较强,太平军再次失利,程学启乘胜进占泗泾。此前,太平军也曾经占领奉贤县城,但不过几天,又被清军攻陷。南汇县城收复后由于守将刘玉林的叛降,也重新失陷。
所以,太平军虽然在克嘉定、青浦之后,大军一路向泗泾、太仓、松江扫荡,把清军大小营寨一百三十多座全部攻破,松江城外敌营也被扫清,但对于上海周围的形势却无多大改变。松江久攻不下,英法联军虽然受挫,实力影响不大,“常胜军”副统领法尔思德虽在青浦一战里被生擒,但同样没有遭到巨大打击。反而,李鸿章率领的淮军经常化被动为主动,频频出击,对太平军形成攻势。
攻上海之路依然漫长,在中外联合势力的打击下,太平军的形势不一定乐观。不过,清军内部也有矛盾,李鸿章一到上海,就想把华尔的“常胜军”的指挥权紧紧抓到自己的手里,惧怕“常胜军”形成尾大不掉之势,对英法联军也不敢放手使用。时原道员吴煦任“督带常胜军正任”之职,却不听李鸿章指挥。外国侵略者也拒绝李鸿章全权指挥之权力,最后几经交涉,才勉强达成了以淮军为主力、英法联军、“常胜军”配合作战的战斗阵线。同样,被改任为钦差大臣办理洋务的薛焕时常插手,李鸿章的指挥并不统一。如果攻打上海持以时日,攻克上海还是比较有可能的。
但就在这段时间,天京形势再度危急,天王洪秀全严诏催逼李秀成带兵救援被湘军包围之天京。
形势使然,李秀成再次率军退出上海外围,自回苏州,商量救援天京大计策,留慕王谭绍光继续主持军事。不久,上海外围城镇相继失守,青浦、嘉定又陷,谭绍光退守昆山。
李秀成再次谋夺上的计划未能如愿。