八月,劉裕共分兵五路征討后秦,其中王鎮惡為咨議參軍,龍驤將軍,領前鋒。出發前,前將軍劉穆之在積弩堂見到王鎮惡,語重心長地對他說:“你現在的情況,讓我想起了晉國滅蜀時的鄧艾,能不能攻克關中就看你了,希望王將軍能不孚眾望。”
王鎮惡說:“承蒙將軍提拔,如果攻不下長安,我決不回江東。您就等著好消息吧!”
九月,王鎮惡進入后秦境內,一路勢如破竹,秦軍望風而逃,一直到洛陽沒有遇到太大的抵抗。
洛陽作為黃河流域東部最大的平原和交通樞紐,在當時戰略意義重大。后秦方面派姚興的兒子征南將軍姚洸負責鎮守。
姚洸一看東晉軍隊人多勢眾抵擋不住,慌忙求救于長安。后秦主姚泓緊急派騎兵三千人、步兵一萬人前往助戰。
姚洸命趙玄率千余人南守柏谷塢,石無諱東守鞏城。但是由于成皋、虎牢守軍投降,王鎮惡與檀道濟、沈林子等長驅直入。石無諱退還洛陽,趙玄戰死。姚洸無奈出城來投降,秦軍四千余人被俘。
王鎮惡首戰告捷,意氣風發。行軍到澠池,路過恩人李方家,專程前去拜訪,見了他的母親,厚加酬賞,任命李方到澠池縣令去上任。
原來二十多年前,王鎮惡十三歲時前秦統治瓦解,長安兵荒馬亂,王鎮惡流落在外避難,曾寄食于澠池的李方家里,被照顧得很周到。
王鎮惡對李方家扶危濟困雪中送炭的行為很是感激,便對許諾說:“如果將來有幸能建功立業,一定要厚報您的恩德。”
李方順口回答說:“你出身高貴,德才出眾,將來富貴是很自然的事。小小年紀就有這這雄心壯志很難得,到時候你封我當個縣令就好了。”李方的一句笑話,王鎮惡卻當真了,今天行軍途中特地登門拜訪來了此心愿。
按劉裕原先的部署,前鋒到了洛陽以后,要原地休整,等候主力大軍的到來,集結齊了以后再考慮攻打長安事宜。
但王鎮惡精通兵法,知道“將在外,君命有所不受”的道理。他觀察到后秦正發生內亂,潼關守備空虛,他害怕戰機稍縱即逝,便當機立斷,馬不停蹄,乘勝進擊澠池,遣司馬毛德祖攻蠡吾城,引兵快速向潼關進發。
后秦大將軍姚紹是軍事名將,負責鎮守長安的門戶——潼關,他看出王鎮惡雖然年輕氣盛銳不可當,但有勞師襲遠,孤軍深入的弱點,便憑借潼關天險,深溝高壘堅守不出。
王鎮惡長途跋涉走了幾個月才到了這里,士兵疲憊不堪,后備糧草供應不足,最害怕就是拖延時間。他急忙派人火速向劉裕求救。
當時劉裕的水軍準備逆黃河西上,但沿途受到強大的北魏軍隊的阻撓襲擾,行軍異常緩慢,自顧猶不暇,根本無力馳援王鎮惡。
王鎮惡只得自己想辦法籌集糧草,由于巧妙消除了當地老百姓敵對情緒,獲得了他們的理解支持,順利解決了糧草危機。姚紹拖延了一段時間,認為時機已到,引兵出戰,結果損兵千余,又退回到定城里,無論怎樣叫罵都不再出來了。
姚紹暗中派遣長史姚洽等人率2000士兵,到了黃河以北的九原,設立河防,以斷絕王鎮惡的糧道,結果被沈林子半路攔住殺了個精光。姚紹聽說姚洽戰死,氣得當場吐血而亡。姚瓚接替了姚紹后,主動引兵偷襲沈林子也失敗了。
五個月后,劉裕率領大軍才到了潼關。王鎮惡請求帶領水軍從黃河入渭水,直逼長安,劉裕同意了。后秦恢武將軍姚難聽說長安有危險,趕忙自香城回救長安。王鎮惡率兵追擊。姚泓從灞上引兵回屯石橋支援姚難。鎮北將軍姚強也趕來匯合,三支部隊共同與王鎮惡交戰。
王鎮惡派毛德祖強力進擊。姚強戰死,姚難逃往長安。姚瓚退守鄭城。戰爭基本結束后,劉裕帶著軍隊到了。
姚泓急遣姚丕守渭橋,輔國將軍胡翼度守石積,姚瓚守灞東。
王鎮惡軍所乘的都是艨艟戰艦,整個由牛皮包覆,兩舷各開數個槳孔供櫓手劃船。甲板以上有船艙三層,每層船艙四面皆開有弩窗矛孔可作攻擊各方向敵人之用。秦人見船艦溯水而進,船外看不到劃船的人,都紛紛稱奇。
船行動輕快靈活,進攻性強。王鎮惡軍很快到達渭橋,棄舟上岸。這時渭水水流湍急,一頓飯的功夫,船艦都漂走了,當時姚泓在長安城還有幾萬兵馬虎視眈眈。
王鎮惡對士兵說:“大家都住在江南,而這里是長安城北門外,船隊所載的衣物錢糧都被河沖走了,我們沒有退路了!唯有死戰,可以立下大功,才有一條活路,否則我們都會死在這里。”
于是身先士卒,騎著馬握著槊向秦軍撲去,眾人跟著沖了上去。后秦軍一觸即潰,大敗而逃。姚泓與姚瓚引兵來救,遇姚丕部敗退,自相踐踏,死傷無數。姚泓單騎跑回了宮里,王鎮惡自平朔門攻入長安。
第二天,姚泓帶妻子兒女文武百官出城投降,后秦滅亡了。長安城內有百姓六萬多戶,王鎮惡積極撫慰民心,由于軍隊紀律嚴明,百姓恐慌的心逐漸安定下來。
劉裕將到了長安,王鎮惡去灞上迎接,劉裕對他十分滿意說:“果然是你成就了我的大業啊!”王鎮惡拜了兩拜,謙虛地說:“這是依靠明公您的威勢,各位將官的奮勇殺敵才有今日,哪里是我的功勞?!”劉裕笑著說:“哈哈哈,你真是我的馮異啊,就不要再謙虛了。”
此時,關中倉庫里堆滿了糧食棉帛各種器物,王鎮惡放縱部下哄搶了許多。王鎮惡通過這種方式來鼓舞士氣,已經不是第一次了。在平定司馬休之時,因為等待部下搶物資,還耽誤了回援一事。
劉裕因他的功勞大,也沒有追究此事,還給他加了稱號叫征虜將軍。