王鎮惡是前秦宰相王猛的孫子。前秦苻氏統治結束時,王鎮惡投奔於東晉,朝廷任命他為臨法令。王鎮惡不擅長騎馬、拉弓卻善於謀略,喜歡探討國家軍事、政治,而且具有決斷能力。
有人把王鎮惡推薦給劉裕,劉裕和他交談,很喜歡他,於是就留他住在自己家裏。第二天早晨,對手下參謀說:“我聽說名將家裏出名將,看王猛的孫子王鎮惡,確實是這樣。”立即就任命王鎮惡為中軍參軍。
荊州刺史劉毅自認為當年勤王討伐桓玄的功勞和劉裕差不多,心裏非常驕傲。等到做了地方之長,總覺得鬱悶不得誌。劉裕對他總是容讓,更助長了劉毅的傲氣。
晉義熙八年(公元412年)九月,劉毅抵達江陵,對地方上的官員做了很大調整。又擅自抽調豫州官員,以及江州兵力一萬多人跟隨自己。
正在這時,劉毅生了重病,就向朝廷要求調自己的堂弟兗州刺史劉藩來做自己的副手,劉裕當時是太尉,就假裝答應了。劉藩入京朝見。
十二日,劉裕讓皇帝下詔,列舉劉毅罪狀,說他與劉藩等人陰謀造反,已經抓住劉藩,命令他自殺了。
十五日,劉裕各路大軍從建康出發,王鎮惡請求給他一百條船,讓他擔任前鋒。
二十九日,抵達姑孰,任命王鎮惡為振武將軍,與龍驤將軍蒯恩帶領一百條船作為前鋒。
劉裕告誡他們說:“如果敵人可以戰勝,就進攻他們。如果不能,就把他們的艦船燒毀,留在水邊駐紮等我到來。”王鎮惡日夜兼程,緊急行軍。因為劉毅還不知道劉藩已死,就自稱是劉藩來了。
十月二十二日,王鎮惡抵達豫章口,離江陵城隻有二十裏。他們放棄舟船,上岸步行前進。蒯恩率領軍隊走在前麵,王鎮惡緊跟著他。
王鎮惡在每條船上留了一兩個人,在船舷上立起六七麵軍旗,旗下放置戰鼓,然後交代留下的人:“估計我們快要到江陵城時,你們就拚命擂鼓,做出後麵還有大部隊的樣子。”又另外派人去燒江津的艦船。
王鎮惡徑直前去突襲江陵城,告訴前麵的軍士:“如果有人問,就說劉藩到了。”守衛渡口的士兵和當地百姓聽了都安下心來,一點也不懷疑。離城還有五、六裏的時候,碰上劉毅手下大將朱顯之準備去江津,問:“劉藩在哪裏?”軍士們說:“在後麵。”
朱顯之到了軍隊的後麵也沒有見到劉藩,卻看見士兵們扛著擋箭板等攻城用具,又遠遠望見江津的艦船已經被火燒毀,江邊擂鼓的聲音又很大,明白過來,知道不是劉藩追來,就跳上馬背,騎馬回城向劉毅報告,一邊跑一邊下令守城士兵關閉各個城門。王鎮惡也騎著馬跟進,城門還來不及關閉,士兵因此得以進入江陵城。
王鎮惡率領軍隊與城內的士兵展開激戰,同時進攻江陵的牙城,從中午打到傍晚,城內的守軍終於失敗潰散。王鎮惡讓人在牙城的牆上挖了一個洞,從洞裏攻了進去。於是派人把皇帝降罪的詔書和赦免他的文告,以及劉裕寫的親筆信交給劉毅。劉毅將它們全部燒掉,看也不看,與司馬毛修之等人督促士兵奮力死戰。
城裏的人還不相信劉裕親自到來,但是軍隊裏那些跟隨劉毅從東方來的士兵,與朝廷軍隊中的一些士兵是表親,他們一邊打一邊交談,知道劉裕真的來了,人心因此離散害怕。到了夜裏,劉毅官府前的衛兵全都逃散,並殺死了劉毅手下猛將趙蔡,隻有劉毅身邊的侍衛還關緊東西大門頑強抵抗。王鎮惡擔心黑暗裏自己的士兵彼此誤傷,於是把部下帶出去圍困牙城,並在南麵放開一個口子。劉毅害怕南麵有伏兵,半夜的時候,率領三百多個侍衛打開北門突圍逃出。
劉毅連夜逃往牛牧寺。當初,桓蔚兵敗的時候,就逃到這裏,投奔牛牧寺的僧人昌。昌把桓蔚藏起來保護,劉毅把昌殺了。因此,寺裏的僧人堅決拒絕,並說道:“以前,我們的師傅收留桓蔚,被劉毅殺了。現在,我們哪裏再敢收留陌生人?否則,隻會招來禍患。”劉毅仰天長歎道“咎由自取啊!”於是上吊而死。