两次攻蒲阪未下,刘裕这时才不再执着于此城,决定先攻下长安,当下便整军西进。再说姚绍准备撤兵西退的前夕,姚绍突然病重,临终将兵权交予姚赞,说道“我年过六旬,无复所求。只恨不能与贼裕一战,保全国家。望爱弟能尽心尽力,保我姚氏之社稷。”姚赞说道“兄长放心,我姚赞此身将与国共存亡!”之后姚赞领兵西退,与姚泓会和。
刘裕听闻姚绍之死,大笑说道“姚绍气盖关中,威震三军。他死秦兵必然夺气。姚泓更无良将,我军鼓行而前,将无强敌!”
王镇恶水军行至泾渭分水口,姚难与姚强领兵数千于泾上欲要阻拦。王镇恶使毛德祖进击,迅速将其击败,毛德祖临阵斩杀姚强,姚难仓皇逃命,奔赴长安。
秦主姚泓见晋军逼近长安,开始整合军队,犹有六万余兵力。他令姚丕将兵一万五千北守渭桥,姚赞领五千人屯于灞东,自己领大军屯于逍遥园。
王镇恶一行继续溯流而上,晋军所乘艨艟船体狭长,行驶疾速,如离弦之箭。秦人第一次见此船,而艨艟船所开侧窗又小,行船者都在船内,秦人看不到人,都惊以为神。船行两日两夜,抵达渭桥。时天刚破晓,姚丕令数百弓箭手沿岸射击,欲要阻其登陆。艨艟战舰外有牛皮包裹,战士尽皆在内,敌箭虽如雨下,晋军仍毫发无损。见敌军箭势稍弱,王镇恶令前队艨艟转向,侧面向河岸一字排开。打开船侧弩窗,众船齐发弩箭。这样一来,秦军可就遭了殃,纷纷中箭而毙,势难阻挡,秦军便撤退了回去。
王镇恶尚未到渭桥时,姚难向姚丕谏道“以王镇恶所乘船数来计,其兵力只有数千。我们可于其半渡之时,纵铁骑冲突,不愁不能全歼!”姚丕不以为然,“我已派出弓箭手去阻击他们渡河了。”姚难说道“弓箭手只能阻其一时,拦不了他们上岸”。姚丕不耐烦“既然他们兵力不多,让他们上岸又如何。我们以堂堂正正之师来一场大战,让他们见识下我大秦兵威!”姚难说道“兵者诡道,需以计谋取胜。况且自晋与我交战以来,我们胜少败多,士气不振。渭桥若失守,长安难以保全啊!”姚丕这才使姚难领二千骑兵先行,自己整大军随后进发。
姚难在路上见到了败退的弓箭手,心下有些吃惊,继续前行,发现王镇恶已带军全部登岸。姚难叹道“真是神速啊!”想到此时攻击,难以得利,便先退回与姚丕军队会和。
在登岸前,王镇恶令所有军士饱餐一顿,然后快速登岸。有故意逡巡者、借顾慢登者,王镇恶立斩以示众。全部登陆后,王镇恶命令将所有船只解缆,时正值水涨流急,倏忽间数百只船顺流而逝。军士们面面相觑皆有惧色,王镇恶淡定的说道“将士们,我们的家属都在江南。这里为长安北门,离家万里。今日我们进战得胜,功名俱显。若败,舟楫已失,后退无路,尸骨无返。拿起手中兵器,奋勇向前吧!”既已置身死地,众军士都有了必死之心。
姚丕大军已经来到,列阵分设左右翼与中军。王镇恶见敌军战线拉的很长,队伍行列因之而薄,便准备集中兵力直突中军。晨曦微露,秋气凉爽,大家的精神也为之一振。王镇恶拔刀大呼“堂堂七尺男儿,当杀敌报国,有死无悔!”言毕奋舞双刀率先狂奔向秦军,毛德祖等紧随其后,队伍自然呈现出一“人”字形。王镇恶率先与秦军接触,力斫前敌,当者立毙。“人”字形迅速插入敌军。晋军将士个个大呼陷阵,有进无退,刀创遍体,丝毫不顾,拼命而前。鲜血喷溅,黄沙乱扬。王镇恶披发怒吼,连斩数敌后,双手刀自外而内将秦军大将姚谌拦腰斩为两截,秦军见者无不惊骇。秦军数目虽多,顶不住晋军个个死战,慢慢呈现劣势。“人”形顶端似尖刀般已扎入敌中军核心。姚难见形势危急,忙分两翼骑兵绕至晋军后方包围之,晋军后方在秦军骑兵的强烈冲击下,已然抵挡不住。
幸亏此时王镇恶已突破中军防线,距姚丕只有百余步远。姚丕在惊慌之下单骑逃跑,秦军主力开始溃退,而中军溃卒在奔逃时又挤入了两翼的队伍,秦军自相惊乱,两翼也因之而溃。攻至晋军后方之秦军虽一时得利,但见大势已去,也都开始各自逃亡。镇恶正自带兵追赶姚丕部队,忽见秦军后方尘埃大起,无数旗帜飘扬而至。原来姚泓担心渭桥有失,先派胡翼度将兵万余前往救援,自己带剩余军队继之而进。
姚丕迅速收集散卒与胡翼度合军,再战镇恶。王镇恶此时开始心慌了,眼见就要胜利了,不料冒出这么一支援军。晋军经此一番战斗伤损不少,难道自己今天果要葬身异域吗?王镇恶再想人生谁无一死,今番溅血黄沙也算终了男儿之志。向军士们大声说道“兄弟们,现在处此险境,我们拼死力战,或有一线生机。即便失败,战死沙场也不枉了一世男儿。我王镇恶要多杀几个羌贼,先赴黄泉等众兄弟去了……”于是王镇恶举双刀再次冲入敌军。
也就在此时,忽有飓风自东北而起,霎时间天地晦冥。飞沙走石,卷入秦军中,秦军难以向前,甚至连睁眼都难。王镇恶大笑道“哈哈,好风!大风起兮军威扬,猛士挥戈兮敌胆落……”晋军将士得风之助,顺风击敌,秦军前方军卒为晋军所逼,挤向后面军士。由于秦军为风所扰,咫尺间难辨敌我,自己军卒互相拥挤,误以为是晋军,开始自相击杀,军队迅速溃乱,胡翼度也于乱中被己方军士践踏而死。当风清气定时,秦军已全面溃败,如地颓山倒般崩散开来。姚丕乘舆为晋军所围,乱枪刺死。姚难被毛德祖追及,斩落马下。