占领南京仅仅一个月之后,太平天国便开始为两路远征军的行动展开动员。首先是重中之重的北伐军,李开芳受命指挥这支部队完成攻占北京的神圣目标。由于北伐的作战计划要求兵分三路,齐头并进,于是北伐军便被编为三路:中路军由李开芳为总指挥,并由副将林凤祥协同率领;侧翼则有吉文元率领的西路军,和朱锡锟为主将、黄益芸为副将共同指挥的东路军。
这五位指挥官都战功赫赫,均已累功升任丞相或副丞相,现在又均获侯爵衔。侯爵这种新设立的爵位,其品级低于王,高于丞相,天王把它作为特殊荣誉,加封给那些将要去剿灭满人的将军。因此,李开芳获封定胡侯,林凤祥获封靖胡侯,吉文元获封平胡侯,朱锡锟获封剿胡侯,黄益芸获封灭胡侯。(与此同时,排名第七的太平天国领袖秦日纲和排名第八的胡以晄,则分别获封顶天侯和护天侯。)
虽然各方估算的北伐军总兵力多达十万人,但实际上,其总兵员在七万至八万之间当为合理,并有辅助指挥的军帅二十一人(一说三十六人)。出发时,每一军兵员数量均远低于额定的一万三千一百五十五人,预备在北伐途中随时征召,最终达到整编规模。
东、西路军在天京北面、长江对岸的浦口集结,中路军则带着驻扎在扬州的绝大部分部队从那里出发,留下曾立昌和陈仕保率剩下的部队驻防该城。李开芳和林凤祥计划一路向正北进军,进入山东,然后转向北京。这无疑是最短、最快的路线,但是在出发前夕,他们受到一个故意散播的谣言的影响,最终放弃了这个计划。当时,江苏按察使查文经正受命修理北方黄河的堤坝,他揣测太平军可能准备从扬州出发北伐,便散布谣言说数十万大军正从北京出发南下,以此来恐吓太平军,防止其北上。为了让谣言显得更为真实,查文经还向扬州以北各县发布命令,令其为清军准备更多的粮草补给。李开芳和林凤祥无暇查验消息的真假,便匆匆地规划了另一条经安徽、河南的路线,以避过这一大股清军的锋芒。
师出浦口
1853年5月8日,中路军在李开芳和林凤祥的率领下登上数千艘船,沿扬州附近的小河往南至浦口,北伐军的全部三支部队在那里集结整备,然后先后经不同的路线向北出发。中路军最先出发,并于5月13日和15日先后击败一队山东兵和另一队由满将西凌阿率领的八旗骑兵,继而向西北至滁州。那里的清军望风四散,他们便兵不血刃地占领了城池。在滁州补给整顿之后,全军继续向北进发。(这里便是李开芳第一处忽视后防和补给的失误,这导致他的北伐军最终与天京隔绝开来,陷入孤立无援的境地。)钦差大臣琦善命令西凌阿率八旗骑兵追击,但是西凌阿敷衍塞责,并未穷追,甚至在追击中都没有与太平军发生接触。
5月18日,北伐军攻占凤阳府临淮关,见到附近并无清军踪迹,便在这里扎营超过两周,做渡过淮河进军宿州,然后再过黄河进入山东的最后准备。但是,他们在最后关头改变了计划。这一次是因为他们得到消息,说太平军在贵县和象州奋战时的广西巡抚周天爵正率重兵驻防宿州。中路军因此转而向西,于5月28日占领凤阳,然后立刻渡过淮河,以河南为新的目标继续进发。与此同时,李开芳还派出了一小股部队返回,接应刚吃了败仗的东路军士兵。
东路军的挫败
朱锡锟和黄益芸率两万人水陆并进,经六合北上。东王杨秀清后来解释说,从来就没有人规划过这样的路线,一定是出现了理解上的错误才会如此。六合在浦口与扬州之间,知县温绍原是个聪明能干的贤吏,以忠于清廷、恪尽职守闻名。他担心太平军来犯,便组织训练精壮民兵守卫城池。另外侥幸的是,钦差大臣琦善在附近驻防了四千八旗骑兵,用来防卫扬州附近江北大营的后翼。
正如温绍原所担心的那样,5月15日,东路的太平军兵临城下。温绍原亲自指挥他的民兵配合骑兵部队,很快便对那些缺乏训练、也没有战斗经验的攻城部队取得了优势。攻城的部队奋战两天,伤亡数千(一说上万),陷入混乱,最终溃散。副指挥黄益芸收拾残兵返回了天京,朱锡锟则带领余部奔向滁州,与李开芳派来接应的小股部队会合。会合之后,东路军被带到凤阳,然后过淮河,与中路军合成一股。
从亳州到开封
李开芳与林凤祥既已决定绕开宿州,并向西进入河南,便在休整后率军经怀远、蒙城向西北开进,沿途收编盗匪乡民。当中路军到达安徽北部的亳州时,吉文元和他的西路军已经在那里恭候他们,吉文元的部队在6月10日就已经到达了那里(其具体的行军路线不详)。从这时开始,三路部队始终如一股统一行动,全军也就因此失去了翼护。
那一年皖北及毗邻的江苏西部和河南一带遭遇了大饥荒,大量难民被收编入太平军中,其中值得一提的是所谓的“捻匪”(捻军),他们之前追随张洛行起义,主要在亳州一带活动(张洛行后来又离开太平军,返回安徽)。因此,当北伐军于6月12日离开亳州向永城进发,然后转向毗邻河南的归德府的时候,他们的总兵力已经达到了十万之众。河南巡抚陆应谷亲率三千清军,从省府开封赶到归德协助防御,但在与太平军的遭遇战中惨败,仅剩百余残部逃往柘城。次日,即6月13日,太平军在归德城外又取得了一场至关重要的胜利,此役他们从驻防部队手中缴获了一些火炮以及大量的弹药。太平军的间谍以及捻军内应趁机打开了城门,根据传回天京的战报,“城内妖兵妖官尽杀三千之多”。
归德城就坐落在黄河南岸,当时黄河还是从这里蜿蜒向东,经苏北地区汇入大海,直到1855年夏天才改道山东。太平军的总指挥李开芳和林凤祥本打算立即率军渡河,却发现当地县令已经下令烧毁了所有的船只。第二天,数以千计的清军开始涌向这里。太平军成功地击退了第一波进攻,但是越来越多的清军不断地抵达战场,他们便不敢在归德久留,并试图从那里渡过黄河。第三天,即6月15日,太平军全军沿黄河南岸向西行进,并沿途寻找船只;到6月19日,他们已经靠近河南省府开封。途中,他们还接收了数千修整完黄河水坝就地解散的饥民、许多安徽团练的散兵游勇,以及很多具有革命精神的当地乡民,全军兵员又恢复到了十万。他们个个士气高昂,一见到开封城,都奋不顾身地向城池发起猛烈的进攻。城中却只有四千兵勇,而且巡抚陆应谷此时并不在城中(当时身在许昌),因此这些兵勇便在知府贾臻和祥符县令何怀珍及当地士绅的指挥下应战。城中绝大部分居民此时已被疏散。
虽然开封城一度陷入恐慌和混乱,太平军的第一波进攻最终却以失败收场。当天夜里,他们的运气变得更糟,突降的暴雨造成黄河水漫过堤岸,洪水冲毁了他们的营帐。数千人被洪水淹没,剩下的不得不丢弃营帐和私人物品,逃往高处。突如其来的损失让他们士气低落,而且不得不放弃进攻,转而晒干被水浸湿的弹药和军械,数日之后才又重新展开攻势。然而,暴雨使开封护城河中仍有河水,城墙防备又森严,先前的洪水还给城墙糊上了厚达六米的淤泥,加之周围也没有大型的村落作为掩护,这些都使太平军挖掘隧道、爆破城墙的计划无法实现。最后,李开芳和林凤祥不得不放弃了占领开封的计划。
从开封到汜水及巩县
由于琦善从扬州派来追击太平军的清军不断逼近,现在又加上由两位满族将领托明阿和善禄率领的步兵和西凌阿的八旗骑兵,李开芳和林凤祥于6月22日再次开始向西移动,沿河寻找适宜渡河的地点。但是,清政府已经采取了新的措施来应对这种严峻的局势,除了调遣远戍的步兵与骑兵入豫并在黄河北岸集结,还特派了左副都御史王履谦主要负责防止太平军渡河。根据王履谦的命令,所有黄河南岸太平军前进方向上的船只都被移走了。
太平军始终找不到渡河的方法,就这样到了6月25日,全军进入汜水地界,次日先锋抵达巩县。当时情况已然十分紧迫,他们决定如果全军仍无法在巩县渡河,那么北伐的军事行动即应放弃,中路军和西路军当转向湖北,与西征军会师。(如果事实真是如此,这超过十万名将士就会免于被歼灭的命运,还会增强西征军的力量,而战线过长的太平军也会因此获益良多。)但是就在6月27日,李开芳和林凤祥正要下令撤军的时候,留在汜水的部队偶然发现了少量船只,并即刻用这些船只将数百名士兵运到对岸。他们在北岸找到了更多的船只,便开始一拨一拨地帮助全军渡河。不凑巧的是,当时北风正劲,船又超载,因而行动迟缓,停在河中几乎不动,几日后清军赶来时,仍有很多太平军留在南岸未能渡河。在接下来的战斗中,没有被清军杀死的太平军士兵都逃往了巩县,先到的一批幸运地找到了一些船只,顶着强烈的北风缓慢地向北岸逃亡。剩下的太平军在清军追兵不断逼近的情况下向南逃窜,进入嵩山地区。
撤退的部队
进入嵩山地区规模约为两三万人的太平军与大部队彻底隔绝,自成组织(具体由谁领导尚不清楚),边战边向南撤退。他们大部分都是吉文元的西路军,所以都头戴黑巾。他们由乡间一路平安无事地撤退至许昌。但是从7月11日开始,清军停止了对城市的攻击,转而直接紧咬住他们不放。太平军继续向南撤退,他们不断地遭到清军追兵的进攻,每一次清军的进攻都会对他们造成更大的伤亡。当7月29日到达河南和湖北边境大胜关的时候,他们仅剩下不到一万人。
进入湖北后,这一小股太平军转向东南,并于8月初在麻城战胜了一队湖北的清兵,但根据湖广总督张亮基的奏折,这时他们的兵力已经减少到了三千人(可能多于此数)。此后他们在黄州失利,这使得这股太平军残部越发绝望,转而向西逃入安徽境内。8月10日他们占领了英山,短暂停留之后,第二日便出发进入太湖县,准备在石牌抢夺一些船只,再顺长江东下。就在这时,一大队清军突然向他们发起了攻击,并四面围堵。此时西征军已经占领安庆及其附近方圆一千四百余里的地区,幸存的太平军残部便向那边的太平天国占领区进发,并最终与占领该地区的胡以晄的部队会合。
怀庆攻略战
与此同时,北伐军的大部队(总兵力七万至八万人)分别在李开芳、林凤祥、吉文元和朱锡锟的指挥下成功渡过黄河,途经温县和武陟县,并于1853年7月8日包围怀庆府城(今沁阳)。怀庆对太平军而言至关重要,原因有二。其一,怀庆位于大丹河和沁河以南,有重要的战略价值。大丹河向东北流入直隶成为卫水,并最终汇入临清的运河。大丹河以南是沁河,沁河流经怀庆府北部,然后向南注入黄河。如果控制怀庆,太平军便可以轻松地通过大丹河使全军经水路到达临清,然后再从那里通过大运河进军天津——这种方式与徒步行军相比有着决定性的优势。另外,怀庆作为较为发达的城市,可以为太平军提供大量各种必需的补给,传闻那里储藏着远超所需的军火和弹药。
但是怀庆的防御者们也众志成城。知府余炳焘和河内知县裘宝镛当时都在城中,他们迅速组织了一万名乡勇民兵,来补充仅有三百人的薄弱的驻防力量。太平军的首次进攻遭遇了出乎意料的顽强抵抗。
第一次进攻的失败,反而坚定了太平军不惜一切代价一定要占领这里的意志,他们将士兵分成小队,重重围住怀庆府,并加紧在沁河北岸建造木城军营。太平军全军在这里与清军僵持了整整两个月,事实证明,这是一个重大的战略错误。清政府得以用这段时间集结了导致北伐军最终覆亡的军事力量。但是,太平军远没有考虑到这一点,因为围城几天之后,他们就准备采用自己最擅长的挖掘地道、爆破城墙的老方法了。东面的一部分城墙确实被炸毁,还把裘宝镛从城墙上震了下来,但是守军还是将他解救回城,并在敌人爬上城墙之前堵住了缺口。百折不挠的太平军随即开始挖掘新的地道,准备再次爆破城墙。
在太平军忙于挖掘地道的时候,清政府则采取了新的紧急措施,应对革命军带来的威胁。直隶总督满人讷尔经额被任命为钦差大臣,主理怀庆军务。他手下有由理藩院尚书恩华率领的六千察哈尔劲旅,以及山东巡抚李僡带领的两千余山东兵员,他们全部驻扎在沁河北岸。第一支受命赶到怀庆战场的清军援军,是自扬州出发之前一直追击太平军的部队,他们分别由三位满族将军指挥——新任命的江宁将军托明阿、西凌阿和善禄。他们都很巧妙地把自己数千人的部队驻扎在城南和城东,但都远离敌营,等待其他人先遭受围城部队的强力反击。
围攻怀庆的太平军现在反而被清军包围,只有在西面,因原本应该驻防的山西部队尚未到达而出现缺口。虽然太平军被包围,但是对怀庆的围攻并未停止,他们挖掘了壕沟,把自己的木城大营与远处的清军营地隔开,使得怀庆城内外的清军无法沟通联络,协调反击。可惜,太平军始终无法打破僵局。一月之内,他们四次爆破城墙,但是每一次造成的缺口都迅速地得到修补。而试图突围的部队,也都屡受重创。7月下旬,清军开始收缩包围圈,对太平军的后翼发动了几次攻势,并且依靠在弹药补给方面的优势,似乎逐渐掌握了战场的主动权。直到7月26日,太平军才在北线取得了一场决定性的胜利。从那之后,清军(尤其是骑兵)再见到太平军则偃旗息鼓,不敢再战。
此役对战场形势的影响并不难推测。两日之后,满族官员胜保带领两千人从扬州赶来,驻扎在怀庆城东及东南方向,并且很快就证明了,他们是清廷派往怀庆的援军中最为勇猛的一路。在他们抵达的时候,怀庆城内的粮草已然不足。胜保为了寻找一条向在城内挨饿的驻防军和百姓输送粮食的线路,不断地尝试穿破太平军在城南的木城军营,但都没有成功。而太平军不断地获得当地百姓提供的走私进来的各种食物和军械补给,坚守住了阵地。这些百姓要么是出于对革命的同情,要么就是因为这里的市价比西部和西南部地区要高出不少。
8月中旬,清军新的援军赶到了,这样他们的总兵力已经增加到了六万人,并在西线最终完成了对太平军的合围。胜保因为在东线反击战中的优异战绩得到提拔,调配了更多军队,指挥包括步兵和骑兵在内的五六千人,并且可以独立指挥军事行动。完成了这些调度之后,钦差大臣讷尔经额将自己的大本营挪近怀庆城,并且开始亲自指挥北线的部队。8月18日早晨,清军从东、西、北三个方向,向太平军的木城军营发起了协同攻势。北伐军副指挥林凤祥率十余队太平军固守大营,但最终被迫撤退。十天之后,胜保与托明阿又组织了清军的第二次主要攻势,太平军则再一次失利。
太平军的指挥官们认识到了自己越来越绝望的处境,最终开始面对现实,他们别无选择,必须拔营解围,率军经一条经探马勘察并无防备的小道,向西进入山西。就这样,耗费了五十五天和牺牲了无数英勇无畏的士兵之后,太平军的怀庆攻略战无果而终。
尚有一点值得一提。当代史家陈善钧的观察发人深省:“贼之入豫也,计失府城一,州县城二十,虽逆贼尚不嗜杀,而其间之家破人亡,不堪思议。”这一方面证明了太平军对民众慈善宽大的品行准则,另一方面也证明了清军对战区民众的残暴。毕竟,如果太平军并无杀戮暴行,那又是谁让他们家破人亡的呢?
西行入晋
9月1日(咸丰三年七月二十八),太平军拔营出发,沿无人防守的小路向西转移,经过一些州县后,于9月12日占领了平阳府。他们在那里稍加休整,几日之后,由胜保亲自率领的步骑混编的清军追兵就已经赶到。胜保认为,晋府太原离平阳仅六百余里,得之可以威慑陕、甘两省,太平军一定会由此向北直扑太原,于是便派一部兵力包围平阳府,自己则带领嫡系部队与善禄的骑兵迅速北上。虽然胜保因应的策略可谓完备,但是他的猜测却并不准确:北伐军的领袖们矢志挥师北京,从未考虑过要向西移动。实际上,在占领平阳不久后,他们就派出一路先锋,向北占领了洪洞。
这里值得一提的是,当地百姓对这队先锋及随后到来的太平军主力自发地支持和欢迎。附近村落的百姓主动地向他们提供食物和驴马,就连距离很远的赵城和霍州的百姓,都做好了迎接太平军的准备。而清廷官方的文告中也承认,实际上霍城甚至大开城门,准备迎接太平军。百姓的这种姿态表明,虽然大多数士人和士绅阶层已经变成忠于清廷且甘于为之利用的爪牙,民众却从没有放弃重建汉族统治的意愿与希望。这也证明了太平军军纪严明,对被俘民众予以公平对待的美名已经远播乡里,使得他们在各地都受到当地民众的欢迎和他们主动自发的支持。
由于胜保的部队封锁了北上的路线,太平军于9月18日子夜悄悄潜出平阳城,与在洪洞的先锋军会合,次日开始向东移动。两日后,在一片叫作长子的山区,他们与托明阿率领的从怀庆经另一路线北上的八旗军队相遇,清军大败,托明阿头部负重伤而脱战。五日后,太平军进入直隶地界。
这个时候,有超过一万四千名清军在山西集结。胜保取代讷尔经额成为新的钦差大臣,节制所有追击的清军。他将全部的部队通过另外的路线派往直隶。他的策略还是一样,既然现在太平军的动向更明显地指向了北京,他就要追上太平军,并在他们前进的道路上进行阻击。
进入直隶
1853年9月29日,太平军在山西和直隶交界处的临洺关休整,他们对率领怀庆战斗中万余人的部队回防直隶,恰巧路过此地的直隶总督讷尔经额及总兵经文岱发动了一场突袭。清军猝不及防,望风四散,讷尔经额放弃了所有的弹药物资,甚至丢弃了自己的官印,只带着一小股亲兵逃到了广平。这名曾经不可一世的官员因为这次惨败的耻辱,被褫夺了总督的官位,判斩监候。
太平军则继续北上,途经诸多城市,也偶尔短暂地占领几座城市,但始终不断地行军转移,以免再次被清军包围。他们的这种担心是有道理的,10月10日,疲惫不堪的太平军在占领深州后才稍事休整,很快就被万余乡勇围在城中。乡勇由于缺乏弹药,只能固守阵地,为清军追兵赢得时间。10月16日,第一拨清军约六千人在胜保、西凌阿、善禄和经文岱的带领下抵达战场。次日,太平军尝试突围,却最终失败。
无论太平军在深州的境遇如何,他们攻入直隶使北京城突然陷入恐慌,“叛匪”日取一城,势不可当地向京城而来的消息传到北京,超过三万户家庭逃亡避难。清廷还做出了许多紧急部署,命令远在关外和蒙古的步兵和骑兵部队进京勤王。10月11日,京畿防务的最高指挥权被交给了咸丰帝的叔父惠亲王绵愉。他将大本营设在北京,领奉命大将军衔,以蒙古郡王僧格林沁为参赞大臣。后者领两千禁军和两千蒙古精锐,以涿州为营,在战场上其他将领的协助下指挥作战,其中也包括胜保的六千步兵和一千骑兵。另外有一名蒙古贝子德勒克色楞,率三千蒙古兵受命协助胜保。太平军此时在人数上仍占优势,但在粮食补给、弹药、骑兵数量、火器以及重型火炮等方面均不及清军。更糟糕的是,太平军多为南方人,没有过冬必需的皮毛大氅或厚衣物。如果没有强力的增援,他们成功的可能性微乎其微。
李开芳和林凤祥意识到直接进军北京困难重重,便决定尝试向东北袭取天津。于是10月22日,太平军趁夜悄悄离开深州,经献县向沧州移动。
从沧州到天津
南京陷落后,清廷便下令各地团练乡勇保护民众,对于这项命令,北京的官员与士绅较之其他地方都更为努力认真地执行。因此,当10月27日太平军约四五千人的先锋靠近距离天津约两百里的沧州城时,知州沈如潮及守尉德成便在乡绅的协助下组织了三千精壮乡勇,随时准备应战。沈、德误以为前锋为太平全军,便轻视敌情,引乡勇出城突袭毫无防备的太平军,杀伤无数。但是在这队前锋尚未被击退时,城中军火库突然失火爆炸(显然是太平军渗透入城的间谍所为),而太平军大部队恰巧赶来,杀向了突然间陷入混乱又失去人数优势的乡勇。战斗迅速结束,太平军占领了沧州城,许多守备的兵勇四散逃亡,剩下的人包括沈如潮和德成在内都被太平军杀死。
图3 北伐示意图
一些沧州民众拿起武器与太平军巷战,最终也都战死,但是太平军在占领城市后则善待百姓。然而,当太平军清点人数,发现沧州一战阵亡兵士约有四千之多后,情况便急转直下。对于面对紧迫局势的太平军指挥官来说,如此大量的伤亡——还是汉人帮着满人杀汉人——昭示了敌人邪恶的妖心,全军因而都弥漫着复仇的情绪,他们最终下令屠杀民众并焚毁城市。一夜之间万人殒命(三分之一为驻防满人)。太平军的愤怒直到整个沧州化为灰烬才稍有缓解,而城中居民只有事先逃亡城外的几千人幸免于难,若非事先疏散,伤亡数字恐怕不止于此。
无论人们如何从道德层面评价这场屠杀,它对太平天国革命运动的影响毫无疑问是灾难性的。屠城的消息广为流传,自此之后,太平军所到之处,地方民众都引沧州之事为借鉴,众志成城,抵抗自卫。屠城次日,即10月28日,太平军离开沧州向北移动,次日到达天津附近的静海。太平军在那里架起木栏,由副指挥林凤祥负责防卫,李开芳则率剩余兵力继续前进至独流、杨柳青一带。10月30日,他们离开天京整整五个月后,李开芳的先锋部队到达了离天津不到五里的地方,而这里距离北京也仅有不过两百余里,是太平军所到离京师最近的所在。
虽然天津是一座府城,却没有常驻的高阶军吏,驻防兵力也屈指可数,直到管理盐务的文谦兼理防务时,才在一些官员和乡绅的协助下组织并训练了数千罪犯和雇佣军组成的乡勇。知县谢子澄奉命指挥作战,他于11月1日成功地击退了太平军先锋部队的连续两次进攻,迫使他们撤退到杨柳青。大获全胜的乡勇又等来了僧格林沁和胜保的援军,士气更加振奋。
再次进攻天津已经不太可行,而依探马所报,越来越多的清军正赶来阻止他们北上京师,李开芳意识到自己已陷入进退两难的境地。与此同时,林凤祥负责防守的静海木栏,也遭到清军追兵西凌阿和善禄部的猛烈进攻,这意味着北伐军已经在南北两线腹背受敌。也许是他们别无选择,李开芳和林凤祥决定坚守自己在静海、杨柳青和独流的阵地,请求并等待天京救援。他们在独流建设了一座木城,环有又深又宽的护城河,河中有高耸的碉堡,并在各要害处布置火器,据阻清军。其他两地也建造了相似的设施,三地之间通过运河舟楫往来相通,交换补给与情报。对于当时在这三座木城中驻防的四万步兵和通过俘缴的马匹组建的五千骑兵(据清廷文告)而言,这样的防御态势几乎无懈可击。
胜保率军绝食三日,奔袭而来,刚一到达,便会同西凌阿和善禄从北面首先发动了联合攻势。林凤祥应战,结果清军惨败。胜保对自己孱弱的部队十分不满,显然靠他们不可能战胜敌人,更别说剿灭他们了,于是他决意亲赴天津,招募更好的兵员。11月11日胜保从天津返回,这时他手下的兵都是按照谢子澄手下那些经历过战斗考验的乡勇的标准招募的精兵。对三座木城的进攻随即再度展开,此时李开芳则非常明智地把杨柳青的部队撤回,以加强其他两处的防守。清军日夜强攻,试图突破太平军的防线,他们甚至动用了刚刚从北京运抵的四十余门重炮及数百支步枪与火枪,猛烈攻击太平军的木城。人员和装备均处劣势的太平军能做的也就只有不断地加固碉堡,并且一层一层地增挖深沟。正是这些层层设置的碉堡和深沟,不断地帮助他们挫败清军冲破阵线的企图,就这样,惨烈的战斗持续了整整一个月,而在静海的林凤祥和在独流的李开芳仍然固守阵地,毫无松懈。这时,来自天京的密使也为身陷重围的太平军将领们带来了大部援军正在赶来,将于2月到达的消息。
12月12日,在独流又爆发了一场大战,太平军损员过千。从静海赶来援救的林凤祥面部也受了轻伤。虽然天津的乡勇成功地突入木城,但西线的满将未能如约提供足够的支援,使胜保错失了攻占太平军木城堡垒的良机。而孤军深入的乡勇不得不突围而归,伤亡惨重。
这场战斗严重地影响了清军的士气,当12月23日另一场大战爆发的时候,虽然清军有从北京来的增援,却还是遭受了一场惨败。阵亡者中还包括谢子澄,他是在带队冲锋,试图救助一名即将被太平军士兵杀死的满将时阵亡的。他手下的乡勇立刻怀疑是满人出卖了他们的指挥官,便开始抵制指挥,消极怠战。
太平军方面因为获得了胜利而士气高昂,不断地向清军发起进攻,给清军造成了大量的伤亡,并且缴夺了清军半数的重型火炮。由于在战场上的损失过于重大,剿匪策略又难以达成,胜保逐渐失去了清廷的宠信,清廷在多封文告中都申斥谴责他的错误与失败。
战略撤退的开始
对周围清军的几场小胜,很难改变太平军身陷重围的现实,而逐渐匮乏的补给,也使他们的处境变得更加危险。从12月初起,太平军的指挥官们便思考是否应当向南撤退,和天京派来的援军会合。1月时,他们曾经试图突围,但是几次下来都没有成功。到了1854年2月5日(咸丰四年正月初八),李开芳和林凤祥终于成功地带领部队同时从独流和静海开始突围。他们率部队先向西南行进,根据当时的文献记载,他们“由雪地匍行,骽(腿)脚皲裂”。
几乎与此同时,僧格林沁也带领大量清军抵达前线,并依清廷命令,取代失势的胜保掌握最高的军事指挥权。他的第一个举措便是派出一支骑兵紧追不舍,同时胜保随另一队急行,从前方截击太平军。2月6日,太平军被围困在河间府的几座小村庄内。
许多太平军士兵在行军中被冻死,清军仍在不断地骚扰,弹药也补给无多。太平军于是决定,向南的撤退行动需要分步骤依次进行,而不应直接与清军的骑兵比脚力。每一次从有防备守卫的村庄经过,太平军都会遭受清军的围攻和炮击。然而,他们又需要休整来恢复体力,以便在适当的时候,可以利用在白刃战中对清军的优势突破包围。就这样,到了3月7日,太平军终于离开河间地界,继续向西南行进,于两日后安全到达阜城,而清军也紧随而至。在之后的几周内,两军偶有战斗发生。3月25日,西路军的指挥吉文元战殁。(东路军指挥朱锡锟可能在更早的战斗中就已经阵亡,因为他的名字很久都没有出现在任何文献记录里。)
僧格林沁得到消息,又一路从天京而来的太平军已经进入山东,并且迅速向北移动,极有可能是试图增援已入绝境的李开芳和林凤祥,便命令胜保和善禄各率兵南下,不惜一切代价阻止这支太平军的行动,防止两股太平军会合。僧格林沁则亲率三万清军留在阜城,加紧对李开芳和林凤祥的包围。
救援行动的失败
1853年夏天,当北伐军陷入困境已经成为不争事实的时候,天王洪秀全和东王杨秀清便想尽各种办法向他们增派援军。当时,西征军已经放弃攻占南昌的计划,转而向武昌进军。而中央地区仍然不断地被向荣骚扰。这些战区均无法拨出人手,唯一的可能性便是从驻扎在扬州的守军中抽调一万人作为援军。虽然扬州正被清军的琦善部团团包围,但是杨秀清认为他们可以冲破扬州的包围圈,便派夏官正丞相黄生才(任主帅)和冬官右副丞相许宗扬(东路军失败后,他刚从六合回到天京)率一小股部队从浦口东进,顺路带上瓜州的守军,帮助在扬州的曾立昌突围,然后一起救援北伐军。
从7月到10月,黄生才和许宗扬在前往扬州的途中接连遭到军事上的挫败,直到10月6日才迎来了他们第一场真正意义上的胜利。但是,单靠这样一支军队几乎没有可能撼动扬州的包围圈。两个月后的12月初,夏官副丞相赖汉英(在讨伐南昌失败后刚刚回到天京)奉命带领另一支派遣军来增援黄生才,帮助他击败了部署在扬州东面的纪律涣散的清军雷以诚部。而曾立昌和陈仕保则抓住这一机会,于两天后率领所有驻防太平军冲出包围圈,与赖汉英和黄生才会师。此后,赖汉英率军驻防瓜州,而黄生才、曾立昌和陈仕保则依照原定计划,迅速带领大部兵力经安徽北上,救援北伐军。
安徽北部的大部分地区此时已被石达开的西征军控制,因此派遣秦日纲(任总指挥)和罗大纲(任副总指挥)也参与救援北伐军,似乎并不会造成安全上的隐患。杨秀清给这二位将军配属了整编的部队,使整个援军兵员总数达到了四万人。全军分四批出发北上。1854年2月4日(李开芳和林凤祥开始从独流战略撤退的前一天),黄生才、陈仕保和许宗扬首先从安庆出发。接着是曾立昌和黄奕芸(原北伐军副总指挥,六合战败后回到天京),最后是1854年夏天,秦日纲和罗大纲最后亲自率兵北上。但是,这最后一队还要经历其他的波折。
黄生才不到两万人的部队在经六安、正阳关、亳州,再向东北最终入砀山的途中,接收了志愿加入的数千清军弃兵和捻军。根据清廷的报告,该部在3月11日始渡黄河并在数日后占领山东金乡时,已经发展到三四万人的规模。曾立昌和黄奕芸经另外一条更短的路线,顺利地在金乡与黄生才会师,队伍的总兵力达到了约五万人。
会师后的援军感到事态紧急,便马不停蹄地不断攻城北上,于3月31日到达临清城郊,援军指挥官们决定稍事休整,并占领这座城市。这主要出于三方面的考虑。其一,临清位于运河东岸,是繁荣的商业和运输中心,能够为部队提供各种食物和补给。其二,太平军长途奔袭,需要休息。最后,也是最为重要的,善禄率领清军已经逼近,他们亟需一座防御的基地。他们炸毁了部分城墙,但是缺口很快得到填补。急攻不成,太平军只能安营扎寨,围困临清。
清军源源不断地赶到战场。最早抵达的是善禄的四千人。紧接着,新任山东巡抚张亮基(由署湖广总督调任)带领数千募勇,十五天急行一千三百里奔袭而来。最后是从阜城而来的胜保,他的八千人与善禄的部队驻扎在一起,而且他的军队傲慢不羁,滋扰百姓,风名颇差。有清军士兵劫夺民财被抓,张亮基要将他们正法以严肃军纪,然而胜保却要保护他们,由此与张互有口角,双方都上书朝廷,互相告状。清廷站在了满将胜保一边,褫夺了张亮基的官衔与地位,保住了胜保的面子。
太平军最终在4月13日(咸丰四年三月十六)爆破了城墙,占领了临清,但是他们失望地发现,城内官员已经在城池陷落前放火焚毁了所有的弹药与粮食。在两天后的一场战斗中,他们也大胜清军,缴获了三十一门大炮,但是军粮储备却迅速减少。而且,中途加入的捻军和新兵结队私逃,情况十分严峻。
4月22日,太平军放弃临清,由于向北的道路被清军封锁,便向南移动。他们的后翼不断地与清军的追兵发生战斗,损失惨重。太平军于是掉头与追兵作战,大胜胜保和德勒克色楞,烧毁其五座营地,彻底击溃了他们的部队。这场胜利给了曾立昌新的信心,他要求全军再转向北上,协助李开芳和林凤祥,但是除了黄生才,全军上下所有指挥官都反对这个建议。无奈之下,曾立昌和黄生才只好随全军继续向南。几日后,他们遭遇了清军的集中攻势,被打散成为数支小部队。虽然黄生才颈部两处负伤,部队也锐减到千余人,但是在他的帮助下,曾立昌仍然在4月28日逃到冠县前又取得了对清军的一场大胜,不过这却是他们的最后一场胜利。由于南面有乡勇阻截,后边又有胜保的追兵,两线作战大量消耗了太平军的兵员与战斗意志。残存的部队在清军骑兵的追赶下,步履维艰地往南逃窜。黄生才乔装成乞丐,逃往附近的村庄,在那里被捕,然后被清廷杀害。一些太平军士最终回到了安徽或天京,有些人落草为寇,还有一些选择向胜保投降,转投清军。
被打散的太平军中最大的一股约有一万人,由曾立昌、陈仕保、黄奕芸和许宗扬率领。这股部队继续向南逃窜,途中则不断与乡勇和清军战斗。伤亡数字每天都在扩大,黄奕芸最终也被抓获枭首。曾、陈、许三帅于5月5日带着数千余部到达丰城,但是他们很快就被胜保的追兵包围,于是决定趁夜向东逃跑。胜保紧追不舍,最终把疲惫不堪的太平军围困在黄河某条支流的河滩上。因前日曾河水高涨,现在河滩满是淤泥,援军数千马军忽然陷入泥泞,行动艰难。清军向挣扎前进的太平军开弓放箭,援军伤亡惨重,有人跳下马匹或落水淹死,或下河游往对岸。太平军兵员越来越少,使得清军士兵发现了曾、陈、许三帅,他们仍在尽力指挥军队作战。就在这时,在场的百余名圣兵组成人墙,围绕着他们的指挥官,要以血肉之躯保护他们的性命,这不得不说是一种独具英雄主义色彩的行动。清军将枪矢集中在这一小股,很快就消灭了一半圣兵。剩下的人一同跳入河中,曾立昌和其他一些军官溺死,但是陈仕保和许宗扬成功游到对岸,然后继续拼命地往南逃窜。
包括数百先行渡河的骑兵在内的数千太平军侥幸逃脱,这些人一直被追兵追赶着,经苏北和河南,最终到达安徽。陈仕保在5月14日蒙城以南的一场战斗中战死,只剩下许宗扬带领一小队人马(人数不详)经霍邱、六安,最终逃回天京。北伐军的援军总共行军三千六百余里。
秦日纲和罗大纲指挥的部队是援军中实力最为强大的,他们比其他的部队晚出发了几个月,原本计划先前往庐州,解除清军对那里的围困。但是他们在舒城受挫,打乱了这支援军包括往援庐州在内的所有计划。清将秦定三率重兵固守舒城,阻止秦、罗二人的援军前进,并最终迫使他们于8月底掉头南返。李秀成在自己的供认状中说,秦日纲此次救援计划的失败,是导致太平天国运动最终失败的重要原因之一。
东王杨秀清在1854年7月底做了挽救北伐军的最后一次努力,他派遣了一支部队,从东线经扬州和清江浦北上救援。太平军丢失浦口之后,这个计划便也没了下文。自此,李开芳和林凤祥领导的北伐军就只能听天由命了。
从阜城到连镇
在足足两个月的时间里,李开芳和林凤祥在阜城抵御清军的围攻,同时等待天京援军的到来,但是情况已越发紧急,他们不可能再这样等下去了。从5月2日开始,太平军一连三天都和清军浴血奋战,终于突破包围圈,向东南逃到了连镇,并迅速地在那里布防。连镇横跨大运河,补给充足,适合较长时间的驻留。当僧格林沁带着他的骑兵抵达的时候,太平军已然在河岸两侧的市镇中建设了一座木城,横跨运河。木城之外照例挖有护城河,并由万余名太平军防守。在此后的三周内,双方互不能胜,形势僵持不下。
太平军仍然不知道天京派来的援兵已然南返,因此设计了一个新的计划:林凤祥率主力驻防连镇,而李开芳则带领一小队轻骑兵突围出去,联络援军,然后把他们带来。5月28日,李开芳带着两千骑兵与林凤祥告别,先向东,再向南寻找援军,双方谁都没有意识到,这便是他们最后的分别。两日后,李开芳部占领无人防守的高唐。他们的行动让僧格林沁颇感意外,他立即分派德勒克色楞等在连镇外扎营的几部蒙古步骑兵以及胜保和善禄的部队(当时仍在临清),往围高唐。
与此同时,僧格林沁和西凌阿不断地发起攻击,试图突破由林凤祥率领数千太平军把守的连镇。但是,清军的士气却每况愈下,就连八旗骑兵也开始消极怠战。除了长时间、高强度的作战产生的疲劳,清军已经怯于与太平军士兵打白刃战,他们知道,这些抱着必死决心和献身意志的太平军,个个都曾杀死过满族官兵。尽管清廷在僧格林沁手下三万人的基础上,又给他从蒙古和八旗部队中调来了数千援军,他能做的似乎也就仅限于围住连镇而已。同时,太平军也无法突围逃跑。但是,随着连镇的军粮告罄,僵局被打破了。在1855年1月将近月底的时候,僧格林沁抓住了机会,诱使两千名饥饿的太平军士兵及平民从城中逃亡。林凤祥不忍看到士兵挨饿,在得到他的允许后,一队队的太平军士兵开始向清军投降。
林凤祥的兵力越来越少,他不得不于1855年2月17日(农历新年)放弃连镇在运河西岸的部分,将剩余的两千多士兵集中在东岸。3月7日,清军发动总攻,大胜饥饿的太平军,还重伤了林凤祥。清军在木城放火,迫使太平军撤退到连镇街道上与清军巷战,他们奋勇不屈,直到最后一人。在这场战斗中,许多太平军士兵阵亡或者被俘,有些跳到河中得以偷生,还有些逃往郊外,但是全军无一人投降。在长达九个月的围攻之后,连镇最终落入了清军之手。
僧格林沁和他的将军们进入连镇,寻找太平军指挥林凤祥的下落。起初,他们完全没有头绪。后来,一些依僧格林沁亲自下的命令而得到赦免的孩子被带来问话,在利诱之下,他们告发了林凤祥在一条长三十里的地道尽头的隐蔽点。林凤祥和其他一些将领躲藏在那里,一被发现,他就服毒自尽了。僧格林沁在给清廷的报告中,则是另外一种说法。根据这份报告,僧格林沁审问了林凤祥,而且为了怕这位已经身受重伤的太平军领袖在施刑中过早地死去,特意把他砍头的刑罚改成了凌迟。因在连镇战功卓著,僧格林沁被晋升为亲王,其他的军官也都有相应的奖赏。僧格林沁随即下令移师高唐,为剿灭太平军北伐的作战画上句号。
高唐换帅
连镇的太平军覆亡之后仅仅两天,僧格林沁就在高唐设立大本营,以德勒克色楞为副指挥,帮办军务。他们手下的八千多士兵中包括两千名八旗骑兵、五百五十名蒙古骑兵、七百名蒙古步兵以及三千多投诚的原太平军,再加上胜保手下的大约两千名四川募勇。围城十个月以来,胜保一直试图将李开芳和他千余人的部队赶出高唐,他采取了各种可想见的策略,不断地进攻,最后甚至采用了炸毁城墙的手段,但都无功而返。清军的损失却不断扩大,他的兵力已经从原来的万余人锐减到了大约三千人。3月11日,当胜保正在忙着挖掘一条新的隧道,准备爆破城墙时,僧格林沁带着将他褫夺职务、押解回京的命令来到了高唐。胜保被清廷以渎误军职的罪名发配新疆(后来他被赦免复职,参与了河南和安徽的战斗)。
僧格林沁意识到,正面进攻收效甚微,便决定采用故意放松高唐南门阵线,诱使太平军出城的计策。他布置一队战斗力强大的骑兵,随时准备追击铤而走险的太平军。3月17日子夜,李开芳和他的骑兵部队果然从南门冲出。
李开芳最后的时日
李开芳带着人马跑到冯官屯,此处有三个富庶的村落,彼此相距均不足五十里。他们迅速在这里挖掘壕沟,建筑木墙,当僧格林沁、德勒克色楞和西凌阿第二天率大军追至,并迅速包围村庄的时候,他们的防御均已完备。在随之而来的惨烈战斗中,太平军丢掉了两座村庄。但在最后的那个村子里,不足千人的太平军殊死抵抗,清军竟不敢再靠近木墙。太平军起先占据高塔或者房顶这些制高点,向清军发射他们所剩的全部弹药,当这些高塔与较高的房屋被清军的炮火夷平之后,他们便挖掘大号的散兵坑,两至三人躲藏其中,待清军偶然路过,便突然跳起,趁其不备将其击杀。
为了再次控制局势,僧格林沁命人修筑又高又厚的城墙,挖掘深沟,围绕全村,并日夜派人严密把守。太平军终于被困,至于绝望。李开芳带队进行了一次突围,不过失败了,但是僧格林沁仍然不希望牺牲过多手下人的性命来强夺村庄。两难之时,他大本营中的一位官员建议他挖掘附近的旧河床,并开凿一条小河,从一百二十里外的运河引水过来淹灌村庄。僧格林沁对此计策非常满意,立即命令当地县令动员民众,开工挖河。经过一个月的辛苦挖掘,方才完工。河水慢慢地涌入村庄,淹没了壕沟和散兵坑。不久,村庄变成了一片汪洋。
直到5月下旬,太平军仍然通过梯子和木筏拼命地试图逃生,但当时水位已然很深,睡觉和做饭都已经无法进行,所剩无几的弹药火器也已无法使用。5月27日,在清军的诱惑下,有两百多太平军及一些村民出村投降,所有人都被清军接收。次日,有超过一百四十名太平军在李开芳的命令下出村投降,但是僧格林沁发现,在向清军阵线游来的人中有一位最受李开芳信任的将军,顿时心中生疑,恐怕有诈。这些人最终都被仔细地搜查,一般难民都被释放,太平军则都被杀害。
李开芳非常想挽救自己所剩不多的部下的性命,便送了一封措辞非常诚恳的信给僧格林沁,请求他放他们出村回到南方,并许诺永不再回北方。僧格林沁在回信中断然拒绝了李开芳的提议,并反复要求他们投降。李开芳别无选择,在北伐军最后剩下的八十八名高阶军官和圣兵的陪伴下,于5月31日(咸丰五年四月十六)走出被水彻底淹没的村庄,随后立即就被逮捕了。李开芳和他的将官们被当作重大战果解送北京,后被凌迟处死。太平天国北伐军六千多里史诗般壮阔的征程,就此落下帷幕(此处并未计算从河南撤退的部队及时运不济的援军的行程)。
荣耀与赞歌
僧格林沁英雄般地回到了北京,他的爵位也被晋升为亲王,世袭罔替。他的参赞副将德勒克色楞也受到了类似的嘉奖,被晋升为贝勒。他们的王爵是靠牺牲八千多蒙古本族人的性命换来的,更不用说其他无数满族和汉族人的性命了。西凌阿获封男爵,随后被任命为钦差大臣,主持在湖北与太平军的作战,凯旋之师中的一大部分也分拨与他调配,其中包括三千名投诚的原太平军,这些人中有两千人在他入鄂后又逃回太平军中(后文详述)。
北伐战争结束数年后,天王洪秀全也以追赠太平天国最高荣衔“王”的方式追思那些战殁的将军。李开芳、林凤祥、吉文元、朱锡锟、黄奕芸以及曾立昌,他们的名字也因此被刻在矗立于天京城中的纪念碑上。在这份名单中,有两处奇怪的缺失。一个是援军指挥官黄生才,他在与清军战斗时英勇就义一事,直到最近他的供述状公开后才为人知晓。另外一个是陈仕保,他的战死可能和黄生才一样,并未被天京的领袖们得知。
至于无数无名的参加北伐却尸骨无还的太平军圣兵,他们的革命热情和他们对待平民足以引为榜样的宽仁态度,被永远铭刻在一首广为流行的山东民歌之中:
长毛哥!
长毛哥!
一年来三遍,
也不多。