王镇恶受命进攻长安,他率领水军乘坐蒙冲小舰在渭水中逆流而上,驾船的人都在战船里面,后秦国人看见船舰前进却没有看见驾船的人,都十分惊讶,认为这件事情很神奇。
凌晨时分,王镇恶抵达渭桥,命令战士们吃饱喝足以后,全部手持兵器登岸,最后登录的人斩首。士兵们登录完毕后,因渭水水流湍急,东晋的战舰全部随波东下,倏忽之间就不见了踪影。
当时姚泓统帅的驻扎在长安的军队还有几万人,王镇恶向士兵们宣告说:“我们的亲人和家园都在江南,这里是长安北门,离故乡有万里之遥。现在,战船、衣服、粮食都飘走了,今天我们进攻,胜利了可以建功立业,失败的话,我们连尸骨都回不了家,没有第三条路可以走,与大家共勉吧!”
说完,王镇恶身先士卒,冲在最前面,士兵们士气高涨、奋勇争先,在渭桥大败后秦姚丕的军队。姚泓想率兵救援,却被姚丕的败兵冲击践踏,不战自溃。姚谌等人全部战死,姚泓单人匹马逃回皇宫。
王镇恶的军队一鼓作气从长安的平朔门冲进城,姚泓和姚裕等率领几百名骑兵逃奔石桥。姚赞听说姚泓战败,急忙率军赶来救援,可是,后秦军心已经大乱,士卒们四处逃散,胡翼度也向刘裕投降。
姚泓见大势已去,打算出城投降,他的儿子姚佛念年仅十一岁,对父亲说:“晋人势必要发泄他们的欲望,我们即使投降也难免一死,不如自杀罢。”姚泓心里痛楚,没有回答,姚佛念见父亲犹豫,自己登上宫墙,跳下摔死。姚泓携妻子儿女、文武百官前往王镇恶的大营投降,王镇恶把他们交给部下关押。
长安城中的汉人和夷人共有六万多户,王镇恶进城后宣扬东晋的恩德,加以安抚,号令严明,令百姓安居乐业。
九月,刘裕抵达长安,王镇恶在灞上迎接他。刘裕夸奖他说:“是你帮助我完成了霸业啊!”王镇恶拜了又拜,说:“这全仰赖您的英明指导和威望,还有各位将领的努力,镇恶何功之有啊!”
刘裕哈哈大笑着说:“你这是要学习冯异吗!”(冯异,东汉开国名将,云台二十八将第七位。当时跟随刘秀的开国将领们,常常在一起聊天夸耀战功,每当这时,冯异总是一个人默默走开,后来常用来指居功不自傲的将领。)
其实,王镇恶一向贪财好利,后秦府库十分丰富,王镇恶私自盗取的财物不计其数,刘裕因他功劳很大,所以不予过问。
嫉妒王镇恶的人很多,有人私下里向刘裕汇报说:“王镇恶私藏了姚泓的御用辇车,可能会有异心。”刘裕暗中派人调查此事,调查结果是王镇恶把辇车上装饰用的金银珠宝全都剔光了,把辇给当成破烂给扔到城墙外面去了,刘裕听说后,这才放心
刘裕下令没收后秦宫室祭祀的用具、浑天仪、指南车等等,全部送往建康,其余金银玉石、绫罗绸缎、稀世珍宝全都赏赐给将士。
后秦平原公姚璞、并州刺史尹昭献出了蒲钣城投降,东平公姚赞率领皇室一百多人,前往刘裕的大营投降,刘裕把他们全部处死,然后把姚泓送到建康,绑到市井刑场斩首。
刘裕又提议迁都洛阳,王仲德说:“非常之事,本来就不是寻常之人所能接受的,一旦迁都,必然引起举国惊骇骚动,如今军队在外征战已久,人心思归,暂时不能提出迁都的计划。”刘裕这才作罢。
后秦姚氏乃是羌人,羌族部落的部众十余万口,向西逃奔到陇上,沈林子追击他们直到槐里,俘虏数以万计。
北凉国主沮渠蒙逊听说刘裕灭掉了后秦,又怕又怒,校郎刘祥进宫向他奏事,沮渠蒙逊暴跳如雷地说:“你听说刘裕入关,还敢穿得如此漂亮!”然后下令将他推出斩首。
夏王郝连勃勃在刘裕还在讨伐后秦的时候,就对文武百官说:“姚泓不是刘裕的对手,而且他的兄弟们纷纷背叛,怎么还能抗拒别人!刘裕定能夺取关中,可是,刘裕自己也不会长久留在关中,最后还得回到江南,留下子弟和战将守卫在那里。到那时,我们再去夺取关中,就像拾取一根稻草一样容易。”
于是,他厉兵秣马,训练士卒,随后,进兵占据了安定城,后秦岭北的各郡县、军事重镇、戍所纷纷投降了夏国。
刘裕派人出使夏国,写信给郝连勃勃,相约为兄弟之国。郝连勃勃命皇甫徽提前代写一封回信,暗地里先背诵下来,然后当着刘裕使臣的面,口授舍人命他书写。刘裕看到信后,叹息着说:“我比不上他。”
之前从东晋流亡到后秦的司马休之、司马文思、鲁轨等人,以及桓温的孙子等桓氏族人,又全部投降了北魏司徒长孙嵩。后秦匈奴堡守将姚成都和他的弟弟姚和都也献出城池投降了北魏。
北魏国主拓跋嗣下诏,声称民间百姓凡是救出姚氏子弟送到平城的人,都重重有赏。不久,司马休之死在北魏,刁雍上书请求到南部边疆报效北魏,拓跋嗣同意了。刁雍在黄河、济水之间集结部队,骚扰东晋所属的徐州、兖州,刘裕派兵讨伐,无法获胜。
刘裕攻克长安后,晋安帝司马德宗下诏封宋公刘裕为宋王,采邑增加十个郡,刘裕再次辞让了,没有接受。
十一月初三,在收到刘裕北伐胜利的消息后,在病床上苦苦支撑的东晋左仆射刘穆之露出最后一丝笑容,他再也支撑不住,带着一身的疲惫撒手人寰,终年五十八岁。
消息传到长安,刘裕震惊悲痛,痛哭不已,一连几天都吃不下饭。刘裕本打算留在长安,继续征服西北,可刘穆之去世后,朝中没有可以托付的人了,刘穆之的继任者徐羡之处理事情的能力远不如刘穆之周到细致,于是朝中大小事务都要请示千里之外的刘裕。刘裕不堪其烦,加上将士长期征战思念故土,最后只能决定东返。
刘裕任命他的次子,年仅十二岁的刘义真坐镇长安,都督三州军事,又任命王镇恶为司马,兼任冯翊太守;沈田子、毛德祖都为中兵参军,沈田子兼任始平太守,毛德祖兼任秦州刺史,驻守关中。
之前,陇上流亡到关中寄居的流民,都希望东晋军队乘胜西上,光复故土,等到刘裕设置东秦州,知道刘裕没有继续西上的意图,都极为失望。