宋元嘉二十七年即公元450年七月,宋文帝刘义隆决定大举北伐。宋建武司马申元吉首先率军直逼碻磝。七月十七(乙亥),北魏济州刺史王买德弃城逃走。宋青冀二州刺史萧斌派将军崔猛攻打乐安,北魏青州刺史张淮之也弃城逃走。萧斌和沈庆之留守在碻磝,让王玄谟进军包围滑台。雍州刺史随王刘诞派中兵参军柳元景、振威将军尹显祖、奋武将军曾方平、建武将军薛安都、略阳太守庞法起带兵从弘农出发。已经七十多岁的后军外兵参军庞季明认为自己是关中的豪门,主动请求进入长安去招抚那里的汉人和夷人,刘诞答应了。庞季明于是从赀谷进入卢氏,卢氏百姓赵难接纳了他。庞季明于是劝说那里的士大夫和平民,响应他的人很多。薛安都等人因而趁机从熊耳山出发,柳元景则带兵继进。豫州刺史南平王刘铄派中兵参军胡盛之从汝南出兵,梁坦从上蔡出兵向长社进军。镇守长社的北魏荆州刺史鲁爽弃城逃走。鲁爽是鲁轨的儿子。宋幢主(一种武官名称,手下估计有一至五百人)王阳儿击溃北魏豫州刺史仆兰,仆兰逃到虎牢。刘铄又派安蛮司马刘康祖带兵协助申坦,进逼虎牢。
北魏群臣最初得悉有宋师入境,都向魏世祖拓跋焘建议,请求他派兵抢救黄河沿岸的谷物棉布。魏世祖说:“现在马匹还不够肥壮,天气也还太热,这时急着出兵将劳而无功。如果前来的宋兵源源不断,我们可以暂且退到阴山躲避。我们的国人本来就穿羊皮裤,何必一定要棉布丝绸!只要拖到十月,我就没什么好担忧的了。”
十月(通鉴作九月,疑有误)初四(辛卯),魏世祖亲自带兵南救滑台,并命令太子拓跋晃进驻漠南防备柔然,命令吴王拓跋余守卫平城。十月十三(庚子),北魏招募各个州郡的五万兵马分派给各路大军。
王玄谟的大军非常强盛,兵器装备也十分精良。然而王玄谟贪婪刚愎,还动不动就杀人立威。宋军刚包围滑台时,因为城中大部分是茅草房屋,所以将领们都请求用带火的箭矢射进城里烧掉这些房屋。王玄谟说:“这些都是我们的财产,干嘛急着烧掉它们!”城中守军于是撤离茅屋搬到洞穴居住。当时黄河和洛水一带的民众争着为宋军送军粮,带着兵器来加入宋军的年轻人日以千计,王玄谟却不任用他们的头领,反而任命自己的亲信党羽去管辖他们。他给那一带的百姓每家一匹布,却要他们献上八百粒大梨,因此民众普遍失望。宋军攻城攻了几个月都无法攻下。听说北魏救兵即将到来,大家都请求用战车作为营垒,但王玄谟不同意。
闰十月初七(癸亥),魏世祖抵达枋头,派关内侯代人陆真夜里带着少数人越过包围,偷偷进入滑台,一方面抚慰城中的军民,另一方面也登上城楼观察王玄谟军营的虚实,再回来报告。两天后,魏世祖率军渡过黄河。魏军号称百万,战鼓之声,震动天地。王玄谟怕了,急忙退走。魏军追击,宋军死了一万多人。王玄谟麾下的将士都散亡殆尽,丢弃在路上的军资器械堆积如山。
先前,王玄谟派钟离太守垣护之率领一百只战舰作为前锋,进据石济,在滑台西南约一百二十里。垣护之听说魏兵快来了,派人飞马送信给王玄谟,劝他加紧进攻滑台,说:“当年武皇帝(刘裕)进攻广固时,战死的将士很多。何况今天事情迫在眉睫,岂能计较将士们的受伤和疲惫!希望将军以占领城池为当务之急。”王玄谟不听。当王玄谟匆忙败退时,没有功夫通知垣护之。魏军利用他们缴获的王玄谟战舰,用铁锁连成三重,阻断黄河,断绝了垣护之的退路。黄河水流湍急,垣护之在河中顺流而下。每到一处铁锁拦住的地方,水军将士就用长柯斧砍断铁链,魏兵根本无法阻拦。结果垣护之的水军仅仅损失一艘战舰,其余全都安全返回。
萧斌派沈庆之带领五千人去救王玄谟。沈庆之说:“王玄谟的部队已经疲劳不堪,魏虏又已经逼近,我们需要几万人才能进军。带上这样一只小部队轻率前往将毫无用处。”萧斌坚持要他前往,刚好王玄谟逃了回来,这才作罢。萧斌要杀了王玄谟,沈庆之再三劝谏道:“佛狸(魏世祖拓跋焘的小名)威震天下,有百万弓马娴熟的大军,岂是王玄谟所能抵挡的!况且杀死战将只会削弱自己,也不是什么好主意。”萧斌这才作罢。
萧斌打算坚守碻磝,沈庆之劝道:“现在青冀二州十分虚弱,如果我们坐守这座孤城,而让魏虏大军东进,那么清水以东的地方就不再是我国的了。碻磝城孤立无援,我们坚守这里只怕是当年朱修之坚守滑台的重演而已(公元431年宋滑台守将朱修之在矢尽粮绝的情况下城陷被俘)。”恰巧朝廷诏令来到,不同意萧斌等人退兵的主张。萧斌又召集将领们商议,大家都认为应当留下坚守。沈庆之说:“宫门以外的事情,将军有权专擅。诏书从远方而来,不知当前的形势。节下帐下有一位范增却不能使用,空谈闲扯有什么用处!”萧斌和其他在座的将领们都笑了,说:“沈公学问长进了不少!”沈庆之厉声说道:“你们大家虽然知古通今,却不如下官耳闻目染知道的多。”萧斌于是采用了他的策略,派王玄谟守卫碻磝,派申坦和垣护之进据清口,自己率领各路大军回到历城。
闰十月,庞法起等诸军进入卢氏,杀了北魏县令李封,任命赵难为卢氏令,让他带领他的部众作为向导。柳元景从百丈崖到卢氏和各路军队会合,然后和庞法起等人一道进攻弘农,并于闰十月十五(辛未)攻下了弘农,生擒北魏弘农太守李初古拔。薛安都留驻弘农。月底(丙戌),庞法起向潼关进军。
同时,魏世祖命令诸将分道并进:永昌王拓跋仁从洛阳直趋寿阳,尚书长孙真直趋马头,楚王拓跋建直趋钟离,高凉王拓跋那从青州直趋下邳,魏世祖亲自从东平直趋邹山。
十一月初五(辛卯),魏世祖来到邹山,宋鲁郡太守崔邪利被魏军生擒。魏世祖见到那里的一座秦始皇石刻,让人排成一行推倒它,同时用祭祀太牢(即牛羊猪三牲齐备)的仪式祭拜孔子。
同时,北魏楚王拓跋建从清水以西进驻萧城;步尼公从清水以东进驻留城。宋武陵王刘骏派参军马文恭带兵向萧城进发,江夏王刘义恭派军主嵇玄敬带兵向留城进发。马文恭被魏军打败。步尼公和嵇玄敬遭遇,率军直趋苞桥,打算在那里渡过苞水到清水以西。沛县民众烧了苞桥,并于夜里在树林中击鼓呐喊。魏兵以为宋兵大举前来,吓得争先恐后地泅渡苞水,结果溺死了大半。
朝廷下诏任命柳元景为弘农太守。柳元景派薛安都和尹显祖先带兵到陕城和庞法起等人会合,柳元景在后督运军粮。陕城险要坚固,各路宋军无法攻拔。北魏洛州刺史张是连提率领二万部众越过崤山去救陕城,和薛安都等人在城南大战。魏军派出突骑冲击,宋军抵挡不住。薛安都大怒,脱下头盔,解下铠甲,只穿着紫红色的无袖衬衫,把战马的铠鞍也撤去,然后圆睁双眼,挺着长矛,单枪匹马地冲进敌军阵容,所向无敌。魏兵两面朝他射箭但都没射中他。薛安都连续这样冲进敌阵,来回四趟,杀死杀伤敌兵不可胜数。快天黑时,宋另一员将领鲁元保带兵从函谷关过来,魏兵这才退走。柳元景派军副柳元怙率领步骑二千去救薛安都等人。他们在夜里才到陕城城南,所以魏兵不知道援军的到来。次日,薛安都等人在城西南布下阵容。曾方平跟薛安都说:“如今劲敌在前,坚城在后,是我们为国捐躯的时候了。将军如果畏缩不进,我就杀了将军。我如果畏缩不进,将军也可以杀了我!”薛安都说:“好!将军说的对!”于是两路宋军联合出战。柳元怙也带兵从南门击鼓呐喊来到阵前,一片旌旗飞扬。魏军没料到又来了支宋军,无不惊慌失措。薛安都挺身飞马,奋勇出击。他浑身流血,血凝固在手肘。他长矛折断了,换了一根重新投入战斗。在主将的激励下,各路宋军无不奋起进攻。从清晨直打到太阳偏西,总算把魏军全面击溃,同时阵斩张是连提以及三千多北魏将士。其余北魏士兵往河里逃跑摔死在河岸的也很多,宋军还生俘了二千馀人。次日,柳元景来到陕城城外,责让投降的魏兵们说:“你们这辈人本来都是中国的百姓,现在却为魏虏尽力,到精疲力尽后才投降,这是什么原因?”降兵们都说:“魏虏强迫我们出战,后出战的要被灭族。他们还用骑兵监督我们步兵,不卖力作战的就先被杀死。这些都是将军亲眼看到的。”部将们要把这些降兵都杀了,柳元景说:“今天王旗指向北面,我们应当让仁义之声在前面开路。”于是将这些降兵都释放遣送回去。他们在离去之前无不高呼万岁。十一月初八(甲午),宋军占领了陕城。
庞法起等人进攻潼关,北魏卫戍军头领娄须弃城逃走,庞法起因此占据了潼关。那里的关中豪杰纷纷起来,和四山的羌民和胡民都来送钱送粮,欢迎宋军。
宋文帝因为王玄谟败退和魏军深入国境,觉得柳元景等人不能单独冒进,便诏令他们撤回。柳元景派薛安都断后,自己率领大军回归襄阳。朝廷下诏任命柳元景为襄阳太守。
同时,北魏永昌王拓跋仁进攻并占领了悬瓠和项城。宋文帝担心魏兵会进逼寿阳,便召刘康祖撤兵回来。十一月十七(癸卯),拓跋仁率领八万骑兵在尉武追上刘康祖。刘康祖只有八千士兵,副将胡盛之提议要沿着山间险要地带走小路退走。刘康祖怒道:“我本想背水一战,却找不到敌军在哪里。现在幸亏他们自己送上门来,我怎能反而躲避不战!”于是将战车连成营垒徐徐而进,并下令全军说:“左右观看的斩首,回转脚步的斩足!”魏军四面围攻,宋军将士全都殊死奋战。从清晨直打到午后四点左右,宋军杀了魏兵一万馀人,地上流的血都淹没了脚踝。刘康祖身上有十道创伤,却越战越勇。魏军将部队分割成三股,轮番休息作战。到黄昏时刮起大风,魏军用骑兵载着干草火烧宋军的战车营垒,刘康祖则随时填补营垒的空缺。但刘康祖不幸被流矢击穿脖子,从马上摔下身死。主将战殁,其余部众因而不能再战,于是全军溃败,魏军把他们几乎全部追杀了。
刘康祖是彭城吕人,世代都居住在京口。他父亲刘虔之不喜欢经营产业,轻财好施。刘裕西征司马休之和鲁宗之等人时,派参军檀道济和朱超石率领步骑兵出襄阳。刘虔之当时任江夏相,也率领府郡的军队兵出涢城,进驻三连,修筑桥梁积聚粮食等待大军到来。后来檀道济等人多日不到,刘虔之遭到鲁宗之儿子鲁轨的袭击。由于众寡悬殊,参军孙长庸流着泪劝他撤兵。刘虔之厉声地说:“我顺应天命讨伐罪臣,道理上说不可能不战胜他们。如果真不幸败死,那也是命中注定。”结果战败被杀。朝廷追赠他为梁秦二州刺史,封新康县男,食邑五百户。
刘康祖世袭了父亲的封爵,后来成为长沙王刘义欣的镇军参军,不久转为员外散骑侍郎。他少年时弓马娴熟,膂力绝人,但在乡里游手好闲,经常赌博酗酒闹事。每次犯法被郡县拘留,他总是越墙逃跑,没人能捉得住他。有一个夜晚他闯入一户人家,结果被司法部门包围。刘康祖突围而去,居然没人敢追。他连夜赶回京口,半夜便回到家里。第二天一早,他就到州府去要求任职。很快建康司法部门前来要人,州府的办事人员都证明刘康祖那天晚上的确都在京口,因此免于刑事。他先后多次被有司部门弹劾,但宋文帝因为他是功臣的儿子,总是宽容了他。他担任员外郎十年,后来再次因为赌博被罢免。
刘康祖后来转为太子左积弩将军,跟随射声校尉裴方明西征仇池,后来又和裴方明一同被捕下到廷尉监狱。裴方明被处死,而刘康祖则被免官。不久,刘骏任豫州刺史,出镇历阳时,任命刘康祖为征虏中兵参军。他在受到重用后,开始改邪归善。他后来转为太子翊军校尉,又升迁为南平王刘铄的安蛮府司马。刘康祖在元嘉二十七年春和北魏大军在汝南作战时立有战功,被提升为左军将军,直到这时战死。魏军后来将刘康祖的首级出示给宋彭城守军,他的面容依然栩栩如生。
他的副将胡盛之被魏军生擒。胡盛之非常勇猛,最初任长沙王刘义欣的镇军参军督护。他曾参与讨伐谯郡的劫匪。当时县西有七十个逃到深山的马贼,胡盛之挺身而出,单独进山,亲手杀了其中的五十八人。魏世祖托跋焘欣赏他的善战,十分宠爱他,经常让他跟在身边。这是后话。
再说南平王刘铄派左军行参军王罗汉带领三百人守卫尉武。魏兵来到后,大家都想往南去依赖卑林的险固,但王罗汉认为他受命坚守尉武,因此不肯离去。魏军很快攻占尉武,生擒了王罗汉。他们锁住他的脖子,并派三个郎将看管他。王罗汉半夜里折断三个郎将的头颈,抱着锁链逃到了盱眙。
同时,北魏永昌王拓跋仁进逼寿阳,焚烧劫掠了马头和钟离。南平王刘铄闭城坚守。
魏军驻扎在萧城,离彭城才十馀里。彭城宋兵虽多,但粮食却很少。太尉江夏王刘义恭打算放弃彭城南归。安北中兵参军沈庆之认为,历城宋兵虽少但军粮很多,便建议组成一个方形箱子的车阵,用精兵作为外翼,然后带着二王以及王妃和公主从彭城直奔历城,同时分兵给护军萧思话,让他留守彭城。太尉长史何勖则建议卷起铺盖直奔郁洲,然后从海路回到京师。刘义恭去意已定,只是在这两个建议之间犹豫不决了好几天。安北长史沛郡太守张畅说:“如果我们真的到得了历城或郁洲,下官胆敢不高声赞同!现在城中缺乏粮食,百姓都有逃走的打算,只是因为城门紧闭,想逃也逃不出去。一旦我们出走,百姓将各自逃散,那时我们要去哪里实在也由不得自己了!现在军粮是少了些,但尚未马上断炊。哪里能舍弃万全的道路而去采用危亡的方法?如果你们的方法行得通,下官愿意用我脖子上的鲜血来沾污明公的马蹄。”武陵王刘骏跟刘义恭说:“阿父(叔父)既然是这里的总负责,是去是留我不敢干预。但道民(刘骏的小名)作为彭城的城主,放弃自己镇守的城池奔逃,那将实在没有脸面再回到朝廷。所以我必须和这座城池共存亡。张长史的主意是不能更改的。”刘义恭这才作罢。
十一月二十六(壬子),魏世祖来到彭城城下,并在戏马台上修建毛毡铺盖的临时房屋,好观察城中的动向。
要想知道宋文帝封狼居胥的北伐结果如何,请看下篇文章。