永安元年(528)的十月份前后,对于刚刚即位半年的孝庄帝而言,整个北魏帝国的形势似乎在逐渐恢复好转∶先是宗正珍孙消灭了濮阳刘举,继而,尔朱荣就灭了葛荣,不久,北魏朝廷又挟战胜之威派征虏将军韩子熙招降了邢杲。在荆州地区,费穆生擒了南梁曹义宗,顺利地解除了南方的威胁;在徐州地区,南梁王弁也知难而退;在兖州地区,北魏朝廷以侍中、镇南将军、太原郡公于晖兼尚书左仆射、与高欢一起讨伐羊侃。
不过,此时北魏国内尚有数股敌对势力存在:一是关中与长孙稚相持的万俟丑奴;二是青州的邢杲投降后,很快就又反叛,邢杲叛乱后,为了解决生存问题,他率领叛军一路向东杀来,一直杀到海边,由于北魏末年青州齐州地区连年发生叛乱,当地地方军队力量十分薄弱,青州刺史元世俊在当地豪强武装的配合下仅仅能够勉强守住州城,根本无力讨伐叛军;三是葛荣被杀后,他的余党韩楼又占据了幽州叛乱。更重要的是∶就在葛荣被杀的十月份,南梁武帝萧衍任命归顺的元颢为魏王,并派遣东宫直阁将军陈庆之率军护送他北上。
北海王元颢与孝庄帝是堂兄弟关系,二人均是孝明帝的堂叔,显然,在魏军尚有较强的战斗力的情况下,梁军在与魏军的交战中虽然取得了一系列的胜利,但进展并不理想,而且,连年的战争给梁国国内造成了巨大的负担,加之梁国还需要时间对新占领区进行消化,在这种情况下,梁武帝的如意算盘是,趁着北魏大乱,想以有限的梁军扶植一个亲梁国的北魏傀儡政权,即便是元颢北上以后无法建立一个稳固的政权,起码也可以搅乱北魏人心,让北魏国内陷入更大的混乱之中,起到四两拨千斤的效果。也就在魏军全力进攻羊侃之时,元题已率军袭占了北魏的铎城(安徽省宿州市西南),为下一步进攻做着准备。
针对这一情况,北魏政府分别作出以下部署:一、对于关中的万俟丑奴,北魏朝廷目前尚无力讨伐,好在是万俟丑奴也没有继续发起猛烈的攻势,关中地区在长孙稚的经营下尚能自保。
二、诈降后又叛乱的邢杲,与准备北上的元颢相互呼应,北魏朝廷命令李叔仁对叛军发起进攻,但由于魏军正全力对付羊侃,李叔仁所部人数较少、在潍水(流经山东省潍坊市的潍河)被邢杲击败,击败李叔仁后,邢杲乘胜包围了齐州的州城历下(山东省济南市)。邢杲的叛军势力很大,如果其与元颢会师,势必对尔朱荣扶植起来的孝庄帝现政权带来巨大的威胁,因此,北魏朝廷决定采取各个击破的办法,利用刚刚平定羊侃的有利战机,迅速将邢杲消灭。十二月十七日,孝庄帝置即将北上的元颢、陈庆之的梁军于不顾,下诏命令于晖回师北上前去讨伐邢杲。
三、对于元颢,北魏朝廷于永安二年(公元529年)二月二十日以济阴王元晖业(拓跋小新成曾孙)为行台尚书,与都督丘大千等人镇守梁国(河南省商丘市),防御元颢,但是,显然北魏朝廷认为元颢的力量不足,并没有组织有效的兵力进行阻截,而丘大千等人的部队也不是魏军的主力,极有可能是临时招募的军队,或者是一些地方武装、葛荣的部分降众。
四、对于幽州的韩楼、尔朱荣任命抚军将军贺拔胜为大都督,镇守中山(河北省定州市),韩楼畏惧贺拔胜的威名,一直不敢南下。从北魏朝廷的上述部署上看,在消灭了葛荣之后,尔朱荣深感对自己威胁最大的不是幽州的韩楼和关中的万俟丑奴,而是在青州的邢杲和即将北上的元颢,因此,他采取了北守南攻的策略,以贺拔胜驻守中山,令韩楼暂时不敢南下,给讨伐邢杲的魏军赢得了宝贵的时间。
然而,到永安二年一月二日,于晖所部都督彭乐率领两千多名骑兵叛逃,投奔了幽州的韩楼,这令于晖不敢继续进攻邢杲,率军退回。彭乐原随杜洛周,后改投尔朱荣,如今又叛逃到了韩楼那里,彭乐所领之兵当属精兵,临战叛逃对于晖的军心士气打击很大,致使于晖不敢再战。
在消灭了葛荣后的数月之内,尔朱荣并没有出现在讨伐各地叛军的前线上,此时,他应当是回到了晋阳,集中精力消化刚刚吞并的二十余万葛荣的降众,紧锣密鼓地整顿军队,在于晖撤离之后,讨伐邢杲的任务就落到了上党干元天穆和不久前刚刚擒获曹义宗的费穆身上了。虽然如此,但尔朱荣对这次行动却非常重视,据学者统计,参与这次行动的北魏主要将领就有二十四人,其中有十七人都是尔朱荣的亲信。另外,尔朱荣也给这支讨伐军配备了当时北魏帝国几乎全部的主力,人数为二十余万人。
永安二年三月十一日,孝庄帝任命大将军、上党王元天穆出征讨伐邢杲,以卫将军费穆为使持节、车骑将军、假仪同三司、前锋大都督,率军先期出发。史学家对邢杲在这两个多月里迟迟没有行动深感疑虑,究其原因应当是∶时值隆冬季节,不便出兵作战,不仅邢杲如此,魏军、元颢等人也都没有行动。到了这一年的四月,元天穆已经率领主力魏军进至青州,即将发起对邢果的总攻,而就在这时,也传来了元颢、陈庆之率领的梁军开始北上的消息。
当时魏军进抵东郡(治所滑台,河南省滑县,范围在河南省东北部和山东省西部一带),而元题、陈庆之的梁军已从铎城北上。进抵赞城(河南省永城市西),邢杲则率部包围了历下,在这种情况下,元天穆面临着是继续向东北进攻邢杲、先击败邢杲、再回师进攻元颢,还是先南下打击元颢、协防洛阳、再转攻邢杲的抉择,他召集军中文武商议,众将均认为∶ "邢杲部众强盛,应当先打击他。"只有薛虎子之子、行台尚书薛踧认为∶"邢果部众虽然比较多,但都是些鼠窃狗盗之辈,虽然强盛,但仍然是一群强盗,并无大志。而元颢却是宗室近亲,他打着正义之师的旗号,自从河阴之事以来,人心惊恐,内心怨怒,一旦有个机会,容易发生骚动。应当先将元颢击败,而后回师再去解决邢杲。"
但是,由于众人的意见都倾向于先打击邢杲,元天穆难以违众,另外,北魏朝廷也认为元颢弱小,不足为虑,命令元天穆先行打击邢杲,再回师消灭元颢不迟,于是,元天穆遂率领魏军向东北方向杀来。
邢杲之众虽有二十余万,但真正的作战部队要低于这个数字,而元天穆率领的魏军即便在人数上有所夸大,也要高于邢杲之军,且都是擅长野战的骑兵,因此、元天穆仅用一个月的时间,即到了四月二十日,就在济南城下一战轻易地击破邢果的叛军,邢杲投降后,被送往洛阳斩首。
陈庆之北伐正是由于魏军主力用于东线邢杲,而造就了一代名将陈庆之白袍军的奇迹,但是,机会总是留给有准备的人的,白袍军以区区七千人马千里北上,一路所向无敌,这与陈庆之本身治军严整、与将士同甘共苦也是密不可分的。
在颍河、涡河以及淮河上游地区,当时的梁军其他各部也已推进至今河南省新蔡县、项城市一线,这为元颢和陈庆之北上提供了有力的支援,使得北魏东南道行台无法抽出充足的兵力进行阻截,另外,在元天穆的主力魏军东进之后,也给元颢、陈庆之带来了可乘之机。就在元天穆东进的同时,元颢和陈庆之抓住这一宝贵战机,从铎城出发一举攻克了荥城(河南省宁陵县北),并推进到了梁国(河南省商丘市)城下。
在梁国附近,北魏都督丘大千拥有七万之众,而陈庆之所部仅有七千人马,但是,丘大千的七万人马分散于九座城堡之内,这让陈庆之能够各个击破敌人。陈庆之率先对敌人的一座营垒发起了猛攻,经过激战,魏军营垒被梁军攻克,梁军从早上一直战斗到傍晚,接连攻克了魏军三座营垒,丘大千最终投降。
丘大千坐拥七万之众却固守不战,其间的原因不详,但正如薛踧说的那样,由于尔朱荣制造了河阴之难,诛杀大量北魏宗室贵族,元颢以宗室贵族的身份与梁军一起北上,他们打着报仇雪耻的旗号,对魏国军民的民心士气是有相当的影响的,即便是丘大千真有七万之众,这些部队大约也并非战斗力很强的魏军主力,甚至有可能是临时招募的壮丁,另外,陈庆之素来重视军队建设,深知选练精兵的重要性,他所率领的军队大多是江淮子弟,骁勇善战,经常担任梁军的军锋,是梁军中的王牌,在各种因素的作用下,陈庆之以区区七千之众就战胜了七万魏军,并非没有可能。
虽然史书没有明言,但依情理推断,丘大千投降后,他的七万之众当归于元颢的直接指挥、加入梁军北进的部队之中了。于是,元颢在睢阳(河南省商丘市)城南的涣水岸边登基即皇帝位,改元孝基,任命陈庆之为使持节、镇北将军、护军、前军大都督。
北魏征东将军济阴王元晖业率领羽林庶子两万人来解救,进屯考城(河南省兰考县)。元颢命令陈庆之率领一部分部队先北上解决考城之敌,打通前进的道路。考城四面环水,守备严密。陈庆之率部进至考城后,命令部队泅渡护城河,在城下构筑堡垒,又很快攻克了考城,缴获魏军七千八百辆满载军粮的大车,之后,陈庆之又乘胜向大梁(河南省开封市)进发,大梁城守军也是望风归顺,元颢晋封陈庆之为卫将军、徐州刺史、武都公。
陈庆之率部继续朝西杀来。
五月一日(《魏书》,但《资治通鉴》称为五月六日),依然停留在梁国城下的元颢也攻克了梁国(河南省商丘市),并紧随陈庆之之后西进。
与此同时,北魏朝廷已经发现事态的严重性,孝庄帝任命东南道大行台杨昱镇守要隘荥阳(河南省荥阳市),尚书仆射尔朱世隆、西荆州刺史王罴率领一万骑兵镇守虎牢关(河南省巩义市东),侍中尔朱世承镇守鳄峻(河南省偃师市西)。
五月十日,孝庄帝下诏百姓自己携带武器马匹应征入伍的,按照优厚的待遇授予官阶;十一日,他下诏对于应征的将士完全按照征讨葛荣时的标准进行赏赐,十三日,孝庄帝又下诏在职人员以及平民百姓献马的,分别赏赐不同的官阶,五月十四日,孝庄帝再度下诏宣布内外戒严。
从孝庄帝接连发布的四道诏书中,可以看出以下几点∶一是当时的北魏京师洛阳十分空虚,不仅兵力不足,而且武器装备均非常匮乏,这大约是在尔朱荣的军队进入洛阳之后,将北魏武库悉数装备到自己的嫡系军队中的缘故;二是杨昱所率领的军队大多是临时征召来的,并且,由于元颢的号召力,京师百姓也并非都乐意从军;三是京师洛阳已经出现了非常危急的情况,不得不让孝庄帝发布了戒严的命令。《魏书》中明确记载,杨昱率领的部队与此前在考城战败的元晖业所部均为羽林庶子,即禁卫军将士的庶子们,这些人大多属于临时拼凑成的,与战斗经验丰富的陈庆之的梁军不可同日而语,不过,以这些人依托险要抵挡一阵子大约也是可以的。
驻守荥阳的魏军将领除了杨昱之外,还有西阿王元庆、抚军将军元显恭,率领七万禁卫军子弟抵御元颢和陈庆之。陈庆之先期进抵荥阳城下后,引兵对荥阳发起了强攻,但终因荥阳城池险固,魏军强大而未能攻克。不久,元颢率领一路招降的军队也来到荥阳城下,他给杨昱写信,派遣左卫刘业、王道安等人前去劝降,但杨昱不从。
此时,已经平定了邢杲的元天穆得知元颢和陈庆之所部已经朝洛阳扑来,遂先派遣骠骑将军尔朱吐没儿率领五千匈奴骑兵火速增援荥阳,另派骑兵将领鲁安率领夏州九千步骑混合军团随后进发,元天穆也率领大军迤逦而来。
元天穆大军在四月二十日刚刚击破邢杲二十余万叛军,仅仅过去十余天,元颢、陈庆之的军队就进抵荥阳城下,甚至陈庆之的先头部队在五月一日元颢攻陷梁国之前就已经兵临荥阳,显然,元颢和陈庆之选择火速西进,正是趁元天穆东进之机而精心准备的一场千里突袭行动,就是要与元天穆的魏军打一个时间差。元天穆同样在与元颢和陈庆之抢时间,想趁元颢和陈庆之发起进攻之前先解决邢杲,但是出乎元天穆预料的是,陈庆之竟然胆敢以最初的区区数千梁军深入魏军千里之遥,并且进展如此神速。
四月二十日元天穆刚刚击破邢杲,在短短的十余天内,他无论如何是无法将全部大军转移到荥阳城下的、这是因为,在平定叛军之后,最大的问题还是如何处置这二十余万降众∶遣返、安置、押送、补给等,这都需要牵扯大量的时间、精力和兵力。回顾数月之前尔朱荣以诈计安抚葛荣数十万降众的事情,当时虽被人们都称赞处置妥当,但仍有幽州韩楼发动反叛,如今的元天穆同样遇到数量相差无几的大量降众,问题甚至比数月前的尔朱荣面对的更加棘手。
另外,从元天穆出征的时间上分析,孝庄帝是三月十一日下诏命令元天穆和费穆出征,元天穆四月二十日平定邢杲,从洛阳到东郡,元天穆大军至少要走一个月的时间,如今,从历下到荥阳路途更为遥远,且是逆流而上,元天穆大军在短时间内回到荥阳也是不现实的。
假如上述分析正确的话,起码可以得出两个结论∶
一是在元颢和陈庆之对荥阳发起总攻前夕,进抵荥阳近郊的北魏援军可能只有经过长途跋涉而来的尔朱没吐儿所部五千匈奴骑兵和随后赶来的鲁安率领的夏州九千步骑混合军团,共计一万四千人,元天穆的主力并没有时间回救。
二是根据史料记载,元天穆大军在随后的确也回师了,但是,回师荥阳的元天穆所部已不是出征时的原班人马,其中的大部分并州肆州军队,即尔朱荣的精锐已脱离了元天穆大军,先期押送降众回山西了,因此,才有了后来所谓的元天穆率领四万、费穆率领两万部队如何如何之语。
但不管怎样,最先抵达荥阳近郊的尔朱没吐儿所部五千匈奴骑兵和随后赶来的鲁安夏州九千步骑混合军团,肯定会向进攻方元颢和陈庆之的梁军以及城内的守军散布元天穆三十万大军行将到来的假消息,其目的就是要稳定荥阳守军的军心,打击进攻一方梁军的士气。
果然,在听到了这一消息之后,梁军上下一片震恐。按常理推断,此时的梁军顿兵干坚城之下,而敌人的援军又将赶到,形势十分危急,时刻有全军覆没的危险。陈庆之对全军将士们说道∶"我来到此地,夺取魏国土地,屠杀城中百姓,确实不少;你们杀死人家的父亲兄弟,抢掠人家的子女,也数不胜数啊,元天穆之众,都是我们的仇敌。我们才仅有七千人马,可是敌人有三十万之众,今日的事情,只能以必死的决心与敌人搏杀,才能死中求生。敌人的骑兵多,我们不可与之在野外作战,应当趁敌人尚未全部到来之际,立即对荥阳城发起猛烈的进攻,占领荥阳,依托荥阳城,再与敌人决战。大家不要疑虑,你们各自去寻找屠杀的鱼肉去吧!"说完,陈庆之即下达了总攻的命令,他下令擂起了战鼓,一通鼓声后,全军全部出动开始向荥阳城墙扑来。
梁军将士视死如归,像蚂蚁一样前赴后继,呐喊着从各个方向向城墙上攀爬。杨昱临时征调的这些贵族兵哪见过这样的阵势,一时间慌乱异常,四月二十二日,梁军壮士东阳(浙江省金华市)人宋景休、义兴(江苏省宜兴市)人鱼天愍率先越过女儿墙,登上了荥阳城墙,梁军将士紧随其后,鱼贯而上,攻克天险荥阳,活捉了杨昱父子五人。
荥阳城内物资堆积如山,牛马、粮食、布帛数不胜数,打下荥阳后,梁军及元颢之军得到了极大的补充。不久,尔朱吐没儿等人围住了荥阳,陈庆之率领休整后的三千梁军精锐骑兵背靠城墙列阵,梁军将士迎头痛击长途而来的魏军,再次大破魏军,鲁安临阵投降,尔朱吐没儿单骑而逃。
击退魏军援军之后,陈庆之乘胜进攻虎牢关,驻守虎牢关的尔朱世隆弃城逃回洛阳,梁军生擒北魏东中郎将辛篡。
此时,北魏京师洛阳已处于无防状态,东部屏障虎牢关陷落,梁军一天之内即可进抵洛阳。孝庄帝打算弃城躲避元颢,却不知逃往何方。中书舍人高道穆说道∶"元颢部队人数不多,之所以能够乘虚而入,完全是我们的将帅无能。陛下如果亲自率领宿卫将士,重赏之下必有勇夫,肯定能够击破元颢之军。假如担心胜负难料,倒不如北渡黄河,征召大将军元天穆、大丞相尔朱荣,令其各自率军护驾,互为持角,前去讨伐,不出十天半月,定能成功。这才是万全之策啊!"孝庄帝听从了。
五月二十三日,即荥阳、虎牢陷落的第二天,孝庄帝即狼狈逃出洛阳,深夜,抵达河内郡(河南省沁阳市)以北,命高道穆在油灯下写了数十道诏书,派人送到四处张贴,这下,人们才知道了皇帝的下落。
二十四日,孝庄帝进入河内郡,当时,孝庄帝打算入城,追随前来的元鸷说∶"河内郡白天紧闭城门,却让车驾夜晚入城,其心难测。我们本来就不是到这里的,请求继续前进。"孝庄帝遂离开河内北上,进入长子(山西省长子县)。
孝庄帝离开洛阳后,临海王元彧、安丰王元延明即率领洛阳百官,查封了国库,准备皇帝仪仗,前去迎接元颢。二十五日,元颢进入洛阳,改元建武,并宣布大赦,以陈庆之为侍中、车骑大将军、左光禄大夫,增邑一万户。杨椿的儿子杨昱在荥阳被擒,太保杨椿还在洛阳,杨椿的弟弟杨顺为冀州刺史,杨顺的儿子杨仲宣为正平太守;杨椿的哥哥杨播的儿子杨侃为北中郎将、弟弟杨津的儿子杨遁为尚书郎,均追随孝庄帝北逃。元颢对杨椿十分猜忌,但因为杨氏宗族势力很大,担心失去人心,没有诛杀杨椿。
元颢一路北上,沿途占领的城池也都留下了部分部队戍守。但元颢进入洛阳之后,这些城池就遭到了临近魏军的进攻。元颢后军都督侯暄驻守在睢阳,作为北伐军的后援。北魏行台崔晓芬、大都督刁宣率部包围了睢阳,昼夜发起进攻,五月二十七日,侯暄突围南逃,被魏军追上斩杀,魏军俘获梁军三千人。与此同时,元天穆、王老生、李叔仁等人也率领四万大军攻克了大梁,攻克大梁之后,元天穆分出两万军队交给费穆,由其继续西进,向虎牢关扑来,又以刁宣、刁双驻守大梁。元颢命令陈庆之率军迎战。
元天穆畏惧元颢,率军从毕公垒(今地不详,《周书·杨宽传》称在石济,河南省延津县北)渡过了黄河,前往河内迎接孝庄帝。
费穆与陈庆之在虎牢关苦战、眼看就要攻克虎牢,听说元天穆已率军北渡黄河,自认为失去了援军、遂投降了陈庆之。陈庆之乘胜东进,再度收复了大梁和梁国。陈庆之所部数千之众,自从从铎城出发杀到洛阳,在一百四十天内一共攻克北魏三十二座城池,历经四十七场战斗,所向无敌,威震华夏。陈庆之麾下全部身穿白色战袍,被人称为白袍军,洛阳童谣也唱道∶"名师大将莫自牢,千兵万马避白袍。"神奇的白袍军骄人的战绩令后人羡慕不已,但是,拨开历史的层层迷雾,可以认定,《梁书》的记载是有所夸张的,不过,即便如此,白袍军的战斗力和赫赫战绩也是不容小觑的。