东晋义熙十二年(公元416年),后秦的第二代君主姚兴病死,太子姚泓继位,接过了姚兴末年由于统治不力所留下的内外交困的烂摊子。十六国的末期,叛乱与战争比比皆是,只要有利可图,谁都没少干“落井下石”的勾当。后秦西面和北面的邻国西秦和大夏乘着新主登基,都来攻伐,西南的仇池杨氏则猛攻祁山,而后秦境内的各地羌人豪酋也纷纷拥兵叛变。面对这样一个局面,“孝友宽和”却“无经世之用”的姚泓显然一筹莫展。
北方各国互相征战已有百年之多,即使从淝水战后前秦分裂算起也已有三十多年,此时形势已渐趋明朗。关东一带只剩下了北魏和北燕两个国家,北魏占据黄河以北的幽、冀、并州以及漠南的大片土地,北燕则只保有幽州的一小部分和平州。如此大的优势下,拓跋嗣自然也不满足于称霸关东,他的势力已经渗入到后秦统治的河南地区,时刻关注中原一带的争夺。
关中地区还有五个国家,昔日的强国后秦国土日蹙,只控制着关中平原渭水流域的狭长地带,以及关东的洛阳、许昌地区,北面的河套地区虎据着大夏赫连勃勃的游击队,不断侵扰蚕食后秦边境。西面的凉州从南到北、从东到西依次是西秦、北凉、西凉三个国家,其中西秦在第三代君主乞伏炽磐的经营下,日益强大,也对姚氏政权构成了极大的威胁。
形势如此有利,早有吞并关中、洛阳之志的刘裕当然不会错失良机,何况他还要用关中的土地与羌人的鲜血为自己的篡位添置大礼呢。
就在这一年的八月,刘裕决定兴兵伐秦。他封世子刘义符为中军将军,留守建康的太尉府,尚书刘穆之为左仆射,管理京师一带的事务,实际上就是代刘裕本人总揽朝政。他还把左司马徐羡之、左将军朱龄石等亲信安排在京师,以备不测。
安排好大本营的事宜,刘裕就可以放心地亲率大军北伐了。这一次的北伐准备比以往任何一次都更加充分,刘裕的大体战略规划是,从秦、晋边境的兖州、徐州、荆州等处多点进攻,由东、南两个方向对后秦形成半圆形的合围架势,一举拿下关东地区,继而齐攻潼关。
晋军共分为五路,由步军、水军两部分组成:第一路为步军前锋,由龙骧将军王镇恶与冠军将军檀道济率领,自淮水、淝水开往许昌、洛阳方向;第二路由新野太守朱超石、宁朔将军胡藩率领,自襄阳进攻阳城(今河南登封东南),策应前锋主力;第三路由振武将军沈田子、建威将军傅弘之率领,自襄阳进攻武关(今陕西商县西南);第四路为水军,由建武将军沈林子、彭城内史刘遵考率领,出石门(今河南荥阳西北),自汴水入黄河,直逼洛阳;第五路也是水军,是由北兖州刺史王仲德统领的前锋诸军,开通巨野泽(今山东巨野北)入黄河。五路大军并进,气势如宏。刘穆之为王镇恶壮行,对他说:“刘公如今对阁下委以伐秦的重任,阁下可得好好加油啊!”王镇恶慨然发下誓言:“我若不能攻克关中,就再也不渡江回乡!”
后秦的统治中心在关中,关东地区是姚兴当年乘着东晋内乱夺来的,不过十几年的时间,兵力相对薄弱。王镇恶与檀道济的这一路进入后秦国境内,所向披靡,连战连捷。秦军毫无抵抗的决心,将领王苟生以漆丘(今河南商丘东北)降王镇恶,徐州刺史姚掌以项城降檀道济。其余要塞守兵,大多望风而降,只有新蔡太守董遵死守,也被檀道济轻松拿下,董遵被虏杀。檀道济继续进兵,攻克许昌,擒获后秦颍川太守姚垣及大将杨业。
沈林子的一路水军进入黄河后,得到了襄邑(今河南睢县)豪强董神虎的协助,很快就攻克仓垣(今河南开封西北),后秦的兖州刺史韦华只得投降。沈林子又以董神虎擅自回襄邑为名,除掉了董神虎。
从东面进入黄河的王仲德水军溯河而上,逼近了北魏在河南的据点滑台(今河南滑县东),北魏的兖州刺史尉建驻扎在这里。姚兴刚刚在头一年把自己的女儿西平公主嫁给了拓跋嗣,秦、魏两国已经结为亲家,换句话说,后秦皇帝姚泓应该叫北魏皇帝拓跋嗣“妹夫”。这样亲密的关系,危难关头怎么着也得拉一把吧,可是尉建却心生胆怯,率众弃城北渡黄河。王仲德又惊又喜,白捡了一座滑台城,虽说是空城,却也足够休养军队了。
拓跋嗣听闻这个消息,勃然大怒(估计皇后姚氏也吹了不少枕边风),立即派了大将叔孙建、公孙表引军渡河,斩杀尉建,兵临城下,向王仲德喊话,质问他为何入侵魏国。
王仲德并不慌张,他明白东晋这个时候是不可以与北魏结仇的。他让自己的司马竺和之在城头答道:“我们刘太尉从黄河攻打洛阳,只是想清扫晋室皇陵,并不想入侵魏国。魏军守将自己弃城而去,我们也很意外。王征虏(王仲德)只借城池稍做停留,很快就将西进,不会影响晋、魏两国的友好,你们何必扬旗鸣鼓、耀武扬威呢?”刘裕得知此事也相当重视,亲自写了信函道歉,说自己只想攻打与自己为敌的后秦,向北魏借道而已,没有别的企图。
原来北魏的军队刚刚平息了上党一带匈奴人的叛乱,也需要进行休整,向晋军问罪更多的是在虚张声势,无意与晋军发生大的冲突。
再说王镇恶、檀道济的这一路,后秦的阳城、荥阳两城相继投降,王镇恶、檀道济与沈林子合兵一处,进抵成皋(今河南荥阳西北),离洛阳已经相当近了。镇守洛阳的是后秦宗室姚洸,他一面向长安方面求援,一面与部下商量对策。宁朔将军赵玄建议集中主力固守金墉(今河南洛阳东北),以待援兵。姚洸却不愿示弱,采取分兵扼守关要,命赵玄率领千余士兵守南面的柏谷坞(今河南偃师东南),广武将军石无讳守东面的巩城(今河南巩县西南)。
这个决策的错误很快就由于成皋和虎牢的沦陷而显现出来,王镇恶等人长驱而进,与赵玄在柏谷展开大战,赵玄寡不敌众,身披十几处伤口而死,石无讳走到半道,见势不妙,转身就退回了洛阳。姚洸见大势已去,长安的援兵又来不及赶到,便出城投降。檀道济面对被俘的四千余秦军,没有接受手下坑杀降卒的建议(南北朝时期能做这样的好事的也不多了),他说:“伐罪吊民,正在今日。”将被俘的士兵全部释放回原籍。这一行为在当时是颇得人心的(后来刘裕丢失了关中,与他大杀姚氏羌人不无关系,但东晋在关东地区的一系列安民的行为,使其保有了后秦在关东的大部分土地以及原先所占据的河南、山东大部,这些都为南北朝初期南方政权的基本疆域奠定了基础)。
收拾完关东,刘裕有些得意洋洋起来,他派左长史王弘回建康,试探性地向朝廷要求加九锡。留任建康的刘穆之这才完全明白了刘裕的狼子野心,心想自己给做了一辈子后勤工作的上级居然是个想要篡位的逆臣,感到又愧又怕,居然一病不起。(这让人想到曹操手下的谋臣荀彧,同样才能很强,政治立场上呢,说得好听是忠于前朝,说得难听是十分迂腐。在乱世之中,这样的人恐怕是活得最郁闷最痛苦的。)
晋廷封刘裕为宋公,位在诸侯王之上,加九锡。刘裕很潇洒地辞而不受,这个时候建康方面的态度已经说明了一切,要不要这个名头并不重要。
这时候后秦再次内乱,没有多少兵力和工夫对付东面的晋军。刘裕把儿子彭城公刘义隆留在彭城,自己亲率水军西进。王镇恶则抓住时机,迅速扑向潼关,檀道济、沈林子则从陕城北渡黄河,攻打后秦的河东地区,蒲阪一时无法攻克,沈林子便劝说檀道济引兵南下,与王镇恶合兵一处,全力攻打潼关。
三员大将再度会师,晋军顿时奋勇无敌,很快就夺取潼关,后秦守将姚绍战败退驻定城(今陕西潼关西),依险拒守。姚绍出兵断晋军粮道,封锁水路,都被沈林子挫败。姚绍守了一个月,又派长史姚洽、宁朔将军安鸾等人率兵两千在九原(今山西新绛北)一带设立河防,以期再次通过绝断晋军粮援的方式迫其退军。沈林子出兵在半道拦击,将秦军兵将攻杀殆尽。可怜的姚绍,听说姚洽兵败身死,又气又愧,吐血而死。东平公姚瓒代行兵权,引兵攻袭仇敌沈林子,又被击败。
不久,在黄河边上以却月阵杀退魏兵的刘裕也抵达了陕城(参见《纵横十六国》);而襄阳的两路人马也都各就各位,沈田子、傅弘之等人进驻青泥(今陕西蓝田)。
皇帝姚泓准备亲率大军对抗刘裕,又害怕沈田子断他的后路,于是决定先消灭沈田子,然后再倾全国之兵东出潼关,与晋军决一死战。
沈田子的军队只有不到一千人,原本是被派来当疑兵的,傅弘之认为敌众我寡,难以抵挡,还是撤军为好。沈田子不以为然,说:“打仗在于用奇谋,不在于兵多。如今兵力悬殊,势不两立,我们乘敌阵未稳,突然进攻,必能获胜!”沈田子临阵大发激励之词,士兵们置于死地而后生,以一挡十,杀了秦军一个措手不及,斩杀上万,姚泓狼狈逃回灞上,再不敢轻易进攻了。(沈家这两兄弟果然都是打仗的猛将,加上王镇恶、檀道济等牛人,东晋的伐秦将领简直是全明星超豪华阵容)
刘裕大军到达潼关,王镇恶请求率领水军自黄河进入渭水,直取长安,刘裕同意。后秦恢武将军姚难自香城(今陕西朝邑东)回救长安,王镇恶率兵沿渭水追击。姚泓见状,从灞上引兵回屯石桥(今长安城洛门东北),救援姚难。王镇恶派部将毛德祖进击姚难,取得大胜,阵斩镇北将军姚强,姚难逃往长安。姚泓慌忙调姚丕守渭桥,以阻止王镇恶上岸,这哪里还能挡得住气吞万里如虎的晋军?王镇恶率大军在渭桥边弃舟上岸,背水一战,大败姚丕。姚泓等人前来救助,一头撞上溃败的姚丕败兵,秦军士卒自相践踏,一败涂地,姚泓本人单骑还宫。