八月,刘裕共分兵五路征讨后秦,其中王镇恶为咨议参军,龙骧将军,领前锋。出发前,前将军刘穆之在积弩堂见到王镇恶,语重心长地对他说:“你现在的情况,让我想起了晋国灭蜀时的邓艾,能不能攻克关中就看你了,希望王将军能不孚众望。”
王镇恶说:“承蒙将军提拔,如果攻不下长安,我决不回江东。您就等着好消息吧!”
九月,王镇恶进入后秦境内,一路势如破竹,秦军望风而逃,一直到洛阳没有遇到太大的抵抗。
洛阳作为黄河流域东部最大的平原和交通枢纽,在当时战略意义重大。后秦方面派姚兴的儿子征南将军姚洸负责镇守。
姚洸一看东晋军队人多势众抵挡不住,慌忙求救于长安。后秦主姚泓紧急派骑兵三千人、步兵一万人前往助战。
姚洸命赵玄率千余人南守柏谷坞,石无讳东守巩城。但是由于成皋、虎牢守军投降,王镇恶与檀道济、沈林子等长驱直入。石无讳退还洛阳,赵玄战死。姚洸无奈出城来投降,秦军四千余人被俘。
王镇恶首战告捷,意气风发。行军到渑池,路过恩人李方家,专程前去拜访,见了他的母亲,厚加酬赏,任命李方到渑池县令去上任。
原来二十多年前,王镇恶十三岁时前秦统治瓦解,长安兵荒马乱,王镇恶流落在外避难,曾寄食于渑池的李方家里,被照顾得很周到。
王镇恶对李方家扶危济困雪中送炭的行为很是感激,便对许诺说:“如果将来有幸能建功立业,一定要厚报您的恩德。”
李方顺口回答说:“你出身高贵,德才出众,将来富贵是很自然的事。小小年纪就有这这雄心壮志很难得,到时候你封我当个县令就好了。”李方的一句笑话,王镇恶却当真了,今天行军途中特地登门拜访来了此心愿。
按刘裕原先的部署,前锋到了洛阳以后,要原地休整,等候主力大军的到来,集结齐了以后再考虑攻打长安事宜。
但王镇恶精通兵法,知道“将在外,君命有所不受”的道理。他观察到后秦正发生内乱,潼关守备空虚,他害怕战机稍纵即逝,便当机立断,马不停蹄,乘胜进击渑池,遣司马毛德祖攻蠡吾城,引兵快速向潼关进发。
后秦大将军姚绍是军事名将,负责镇守长安的门户——潼关,他看出王镇恶虽然年轻气盛锐不可当,但有劳师袭远,孤军深入的弱点,便凭借潼关天险,深沟高垒坚守不出。
王镇恶长途跋涉走了几个月才到了这里,士兵疲惫不堪,后备粮草供应不足,最害怕就是拖延时间。他急忙派人火速向刘裕求救。
当时刘裕的水军准备逆黄河西上,但沿途受到强大的北魏军队的阻挠袭扰,行军异常缓慢,自顾犹不暇,根本无力驰援王镇恶。
王镇恶只得自己想办法筹集粮草,由于巧妙消除了当地老百姓敌对情绪,获得了他们的理解支持,顺利解决了粮草危机。姚绍拖延了一段时间,认为时机已到,引兵出战,结果损兵千余,又退回到定城里,无论怎样叫骂都不再出来了。
姚绍暗中派遣长史姚洽等人率2000士兵,到了黄河以北的九原,设立河防,以断绝王镇恶的粮道,结果被沈林子半路拦住杀了个精光。姚绍听说姚洽战死,气得当场吐血而亡。姚瓒接替了姚绍后,主动引兵偷袭沈林子也失败了。
五个月后,刘裕率领大军才到了潼关。王镇恶请求带领水军从黄河入渭水,直逼长安,刘裕同意了。后秦恢武将军姚难听说长安有危险,赶忙自香城回救长安。王镇恶率兵追击。姚泓从灞上引兵回屯石桥支援姚难。镇北将军姚强也赶来汇合,三支部队共同与王镇恶交战。