北伐援軍共15個軍,7500人,由夏官又副丞相曾立昌、冬官副丞相許宗楊、夏官副丞相陳仕保等率領,但由於南方戰事也吃緊,到鹹豐四年(1854年)正月初七,才從安慶出發,經桐城、舒城、六安、正陽關、潁上,於二月初三到達蒙城。二月上旬,北伐援軍入河南永城、夏邑,中旬轉至江蘇蕭縣西北的包家樓、蔡家莊一帶,並占領豐縣,二月二十一日入山東境。但擔任掩護任務的二三千人未能渡河,退回河南永城,爾後轉入安徽六安一帶活動。魯西地區兵力空虛,故北伐援軍進入山東後,如入無人之境,連下金鄉、巨野、鄆城、陽穀、莘縣、冠縣,於三月初三直逼距阜城僅二百餘裏的漕運咽喉要地臨清城下。援軍一路上吸收了大批義軍和遊民,隊伍迅速擴大,這時已擴充至三四萬人。
奉命阻擊北伐援軍的勝保率部自阜城出發後,經故城入山東,於三月初七占據了臨清城的有利地位。北伐援軍一麵阻擊南下的勝保軍,一麵猛攻臨清城。三月十五日,用地雷轟塌西南城牆兩處,攻入城內,但城內糧秣彈藥已被清軍全部焚毀,僅得一座空城。
臨清之戰,消耗了太平軍大量的兵力,也給了清廷調兵遣將的時間,他們很快集結兵力一萬六七千人(內有馬隊4000餘名),加上團練等約有二三萬人。援軍到達後,清軍隨即對臨清形成合圍,在清軍的猛烈進攻下,援軍屢戰不利,不得不於三月二十六日放棄臨清,南退至李官莊、清水鎮一帶,部隊傷亡逃散者萬餘人。
北伐援軍的到來使清廷甚為恐慌,鹹豐帝驚呼“將斃,又添雙翼”。但援軍在臨清作戰失利後,領導層中對下一步的行動發生了激烈爭論。曾立昌主張前往救援北伐軍,解阜城之圍,但許宗楊和陳仕保等置北伐軍數萬將士的安危於不顧,說援軍人心動搖,北行恐多逃亡,不如南行。雙方爭論不休,最後南返的主張占了上風。四月初一,援軍南退冠縣,在清軍的追擊和地主武裝的襲擊下,被殺二三千人,沿途歸附的義軍和遊民紛紛潰散。曾立昌渡黃河時淹死(一說自殺);陳仕保渡河後在安徽鳳台縣境內陣亡。許宗楊隻身逃回天京,楊秀清將其投入大牢。
鹹豐四年(1854年)三月,天京方麵又決定派燕王秦日綱再次組織增援,但秦日綱不願北行。天京當局終因金陵、廬州(今安徽省合肥市)以及湖南方麵戰事十分緊張,無力抽兵而作罷。此後,北伐軍隻好孤軍奮戰了。
最後失敗
鹹豐四年(1854年)四月初九,北伐軍由阜城突圍東走,輾轉占據了連鎮等待援軍。
連鎮隸屬東光縣,橫跨運河,分東西兩鎮,分別由林鳳祥、李開芳率部據守。當天,僧格林沁的追兵將北伐軍緊緊包圍。北伐軍為了另擇一處牽製清軍,便商定由李開芳率領經過挑選的600餘人騎馬突圍南下。五月初二,李開芳率隊自東連鎮突圍成功,過吳橋,入山東境,三日襲占高唐。但清軍勝保部步步緊逼,北伐軍扼守高唐州非常困難。
此時,北伐軍被清軍分成兩截,力量變得更加弱小,留守連鎮的太平軍僅有六七千人,而僧格林沁則擁軍二三萬人。清軍在連鎮四周挖掘深壕、構築土城,壕深寬各二丈餘,土城高一丈五六尺,厚八九尺,上安抬槍、火炮。每隔一丈支帳蓬一座,設兵10名,嚴密圍堵,企圖將太平軍困死。圍攻數月,太平軍進行了堅決的還擊,使清軍損兵折將,士氣越來越低,以致僧格林沁不斷受到清廷指責。但太平軍畢竟久據連鎮,糧食匱乏,僅以黑豆充饑,沒有供給地,隻能坐吃山空。於是,僧格林沁一麵加緊軍事進攻,一麵開展誘降活動,北伐軍前後出降者達3000餘人。鹹豐五年(1855年)正月初一,太平軍放棄西連鎮,集中力量防守東連鎮。林鳳祥利用僧格林沁的誘降陰謀,於正月初二,派蕭鳳山(原係清朝縣丞)等90餘人詐降清軍,借機設法突圍,打破清軍的圍困。但這項計劃被清軍識破,詐降的90餘人全部被害。正月十九日,清軍對東連鎮發起總攻,集中炮火轟擊木城。林鳳祥在督戰時身受重傷,士氣大受影響。孤軍奮戰的太平軍最終寡不敵眾,清軍攻破太平軍的防線,太平軍傷亡慘重。林鳳祥受傷後藏於地道深處,後被清軍搜獲,解送北京,慷慨就義。
與此同時,扼守高唐州的太平軍也正與清軍進行著激烈的戰爭,勝保率馬隊300名先行到達,不久大批清軍聚集高唐城外,使這支太平軍又陷入重圍。李開芳得知援軍潰敗,早已退出臨清,而高唐城高池深,糧草充足,於是組織居民在城外立柵築壘,開掘壕溝,並在城內挖掘地道多處,直通城外,準備依城固守。這時,勝保擁兵萬餘,先後用雲梯、呂公車攻城,都被太平軍擊退,又用重炮轟擊。太平軍利用壕溝地道作為掩護,保存自己,並於黑夜搶修被敵人轟塌的城牆。以後,清軍又采取挖地道、埋地雷的辦法,也未能破城。
太平軍憑借堅固的防禦工事,利用夜暗襲擊敵營,前後30餘次,斃傷不少清軍。
在爭奪高唐的戰役中,太平軍盡最大的努力堅守城池,給清軍重大打擊,勝保先後受到拔去花翎和革職留任的處分。留守連鎮的北伐軍被殲滅後,清廷便將勝保調回京城問罪,命僧格林沁調軍進攻高唐。