秦主泓连接败报,仓促失措,只好向魏讨援。晋刘裕泝河西上,亦令人向魏借道。魏主拓跋嗣集众集会,多说秦魏方通婚媾,理应拒晋援秦。秦女西平公主为魏夫人事,见上文。独博士祭酒崔浩,谓:“秦已垂亡,往救无益,不如假裕水道,听他西上,然后出兵堵塞东路。裕若胜秦,必感我惠,不然我亦有救秦的隽誉,这乃是一举两得的上计。”拓跋嗣不能无疑,再经宫内的拓跋夫人,劝嗣拒晋,嗣乃遣司徒长孙嵩等屯兵河北,遏住裕军。裕引军入河,魏兵随裕西行。裕遣亲兵队长丁旿,率懦夫七百人,坚车百乘,登岸布阵。再命朱超石领着弓弩手二千,登车环射魏兵,且射且进。再用大锤短槊,摆布猛击,连毙魏兵无数。魏兵大溃,魏将阿薄干阵亡,裕军遂安然向西去了。
那晋将檀道济,进拔秦阳荥阳二城,直抵成皋。秦征南将军姚洸,屯戍洛阳,急向关中讨援。秦主泓遣武卫将军姚益男,越骑校尉阎生,合兵万三千人,往救洛阳。又令并州牧姚懿,南屯陕津,作为援助。姚益男等尚未到洛,晋军已降服成皋,打击柏谷。秦宁朔将军赵玄,劝洸据险恪守,静待援师,安知司马姚禹,已暗通晋军,但请洸出兵出战。洸即令赵玄,领兵千余,出堵柏谷坞,广武将军石无讳,出守巩城。玄临行时,泣语洸道:“玄受三帝重恩,该当效死。但公误信奸人,必贻悔怨。”说毕,即与司马骞鉴,驰往柏谷,正值晋军攻入,便与比武。晋军越来越多,玄兵只要千余,又无后继,如何反对得住?玄冒死突入,身中十余创,力不能支,据地大喊。司马骞鉴,抱玄泣下。玄凄声道:“我死此地,君宜速去。”鉴泣答道:“将军不济,鉴将何往?”遂相偕战死。不愧为姚氏忠臣。无讳至石阙奔还,姚禹逾城降晋。晋军直逼洛阳,四周围攻。姚洸待援不至,只好出降。檀道济俘得秦兵四千余名,或劝他悉加诛戮,封作京观。道济道:“讨伐吊民,正在本日,怎很多杀哩?”是极。因皆释缚遣归,入城安民,秦人大悦。
魏主嗣始悔不听崔浩,再与浩商讨军情,欲截裕军归路。浩答道:“裕能得秦,不能守秦,将来关中终为我有,何必目前劳兵?臣尝私论近世将相,王猛佐秦,乃是苻坚的管仲,慕容恪辅燕,乃是慕容暐的霍光,刘裕相晋,乃是司马德宗的曹操,彼欲建功震世,篡代晋室,岂肯长留关中么?”料事如神。嗣乃大喜,不再出兵。晋将王镇恶,久驻潼关,粮食将尽,意欲弃去辎重,还赴雄师。沈林子拔剑击案道:“今许洛已定,关右将平,前锋为全军耳目,何如自沮锐气,功败垂成呢?”镇恶乃自至弘农,晓谕百姓,劝送义租,百姓报命输粮,军食复振。林子复击破河北秦军,斩秦将姚洽姚墨蠡唐小方。姚绍愧愤成疾,呕血而亡。秦兵失了姚绍,越加惊心,偶然战守。晋将沈田子傅弘之等,领着偏师千余骑,袭破武关,进屯青泥。秦主泓率众数万,前来抵抗,弘之欲退,田子独慷慨誓众,鼓噪奋进。姚泓素未经大战,蓦见晋军各执短刀,冒死冲来,好似虎狼普通,不由的惊心动魄,仓猝返奔,余众当然披靡,统皆崩溃,统统乘舆麾盖,丢弃殆尽。沈林子恐田子有失,亟往驰救,见秦主已经败去,便相偕追入,再加刘裕到了潼关,令王镇恶自河入渭,亟捣长安。裕军继进,斩姚强,走姚难,中转渭桥。姚丕扼守渭桥,由镇恶舍舟登岸,身先士卒,大破不军。姚泓引兵援丕,反被丕败卒还冲,自相踩踏,不战即溃。泓匹马奔还,镇恶追入平朔门,长安已破,急得泓不知所为,挈老婆奔往石桥。姚讚还救姚泓,众皆散去,胡翼度走降晋军。泓没法可施,只得输款乞降。后秦自姚苌僭号,共历三世,凡三十二年而亡。小子有诗叹道: