當時苟林距離江陵最近,其次為桓謙,再次為譙道福。從戰鬥力來說,以桓謙最強。劉道規捨近求遠,去攻桓謙,這在軍事上是有說法的。苟林是弱軍,而且此人既膽小又沒什麼軍事判斷力。如果去攻苟林,桓謙來救,必成一對二的形勢。反過來,劉道規捨近求遠去打桓謙,苟林則不敢當機立斷地迅速回軍援救。一旦攻破桓謙,苟林又會因為失去援助而迅速退兵。所以,與桓謙的決戰,是勝敗的關鍵。
劉道規在枝江與桓謙進行了一次慘烈的決戰,很快分出勝負。桓謙全軍覆沒,失敗被殺。劉道規打敗桓謙後迅速回師,那苟林果然沒有回援桓謙,而是去攻江陵。江陵有魯宗之死守,苟林一直不能攻下,又聽說劉道規擊敗桓謙回師,他急忙撤軍,但已經晚了。劉道規很快迎面攔住苟林的軍隊。面對劉道規的軍隊,苟林不堪一擊,也戰敗身亡,所有部眾全部投降。
不久,徐道覆也率一支軍隊從潯陽向江陵急速進軍,很快就要兵臨江陵城下了。這時魯宗之已經帶兵回到襄陽,再派人去請他回援助守,時間已經不夠。徐道覆雖然只帶了三萬人馬,但他的軍隊戰鬥力比桓謙要強得多,而徐道覆本人也能謀善戰。劉道規這次採取的是四面開花的戰術。他緊急招募了三四千民兵,簡單訓練後配以兩千名正規軍來守城。然後把約兩萬軍隊分成三路全部埋伏在城外。徐道覆的軍隊來攻打時,劉道規帶著數千民兵硬是艱難地守了七八個小時,一直堅持到天黑的時候。反攻的時間到了。先是劉遵率一支軍隊衝擊徐道覆的後路。這時,徐道覆還算冷靜,他分出一支部隊去阻擊劉遵的進攻。但很快又先後有兩支軍隊殺來,深夜之中徐道覆不知有多少軍隊殺來,趕緊撤退,劉道規趁勢帶兵出城。四路軍隊在後一陣掩殺,徐道覆大敗,順水路逃回潯陽,損失近萬人。譙道福本來已經攻破巴東(今四川奉節),殺死晉的守將時延祖,正在向江陵進軍,聽說兩支友軍皆敗,後來的徐道覆也被殺敗,不敢再進軍,退回了蜀國。
劉裕本來一直擔心江陵形勢,一連得到劉道規的兩份捷報後才長籲一口氣說道:&ldo;有劉道規在江陵,我可以放心了。&rdo;幾個月後,劉裕的船隻建造完畢,水軍也訓練得差不多了。劉裕遂帶大軍全面清剿盧循和徐道覆。
劉裕在進軍之前,先派建威將軍孫處、振武將軍沈田子率五千水軍,斷盧循後路,防備盧循失敗後重新逃到海島據守,又因為他知道劉毅已經和自己是貌合神離,遂讓劉毅留守建康。安排完畢之後,以王仲德和劉鍾為先鋒軍,向南而進。王仲德和劉鍾到達盧循手下部將範崇民的防區南陵,正巧這一天是大霧天氣,霧氣濃重,對面也只能看到影影綽綽的人影,再遠一些就什麼也看不到了。王仲德和劉鐘的船隻誤入範崇民的水寨,引起雙方的混亂。王仲德和劉鍾乾脆帶兵一頓猛殺,而範崇民則以為對方是有備而來,專門趁霧劫營,大霧中又辨不清對方來了多少人,急忙帶著手下人一頓亂殺,棄了南陵逃回潯陽。
劉裕軍立刻進逼到潯陽,用火攻的方法擊敗盧循,盧循又退守豫章,劉裕再攻下豫章,盧循和徐道覆分兩路南逃。盧循逃到番禺,徐道覆逃到始興。盧循來到番禺時,孫處已經從海路行軍佔領了此城。盧循仗著手裡還有一萬多軍隊,便攻打番禺。孫處堅守城池不出,與盧循相持了十多天。徐道覆的軍隊在始興被擊敗,徐道覆被殺,始興被佔。劉裕派劉籓和孟懷玉率輕騎一萬,飛速去援孫處。盧循被城內守軍和城外的援兵夾擊,戰敗後率殘部逃往交州。
交州刺史杜慧度帶兵在龍編津擊敗盧循殘部,盧循無處可逃,將自己所有妻妾殺死後,投水自殺。這一年是東晉義熙七年(411)四月庚子日。自隆安三年(399)十一月,孫恩在浙東起義,到盧循在交州龍編津被消滅,這次起義長達十一年零五個月。