劉裕原本準備在滅南燕之後繼續推進河、洛,收復中原,不料滅南燕的捷報還在南去的路上,朝廷的詔令就急急北上征劉裕回京:盧循、徐道覆正乘京都空虛,一路殺將過來.
早在劉裕征討桓玄的時候,緩過一口氣的盧循再次聚眾寇擾廣州並俘獲廣州刺史吳隱之,他的謀士徐道覆進攻始興(在今廣東韶關)並俘獲始興相阮腆之。那時安帝剛返回京都不久,朝廷因無暇顧及,不得已就任命盧循為廣州刺史,徐道覆為始興相(此郡若是諸侯王的封邑,朝廷任命的最高長官就是「相」,職位同於太守)。後來聽說劉裕北伐,徐道覆就力勸盧循乘虛襲擊建康;盧循採納後,二人兵分兩路:盧循從始興進攻長沙,徐道覆進攻南康(治所在今江西贛州)、廬陵(治所在今江西吉水東北)、豫章(治所在今江西南昌)。諸郡太守或相都紛紛逃命,徐道覆率大軍得以順流而下,直逼建康,京都惶恐,於是朝廷急召劉裕回京。
三月二十日,鎮南將軍、江州刺史何無忌與徐道覆戰於豫章,大敗,何無忌陣亡,於是京都更加惶恐,有人建議奉皇帝北逃以就劉裕;後來見徐道覆等一時還沒有到達,此議才止。
與收復中原相比,目前保住大本營才是最重要的。
劉裕匆匆回撤。到達山陽(在今江蘇淮安),劉裕聽說何無忌戰死,擔憂京都失守,就帶著十幾個人日夜兼行。到了長江邊上,他們問朝廷消息,行人也不知道眼前的就是劉裕,就說:「賊還未到,劉公若能回來就無所憂了!」
劉裕大喜,單船過江,先到京口,人心略安;四月初二到達建康,朝廷和百姓這才覺得有了依靠——可見這時劉裕在人們心中的地位了。
得知何無忌戰敗,而劉裕又在北方立了大功,衛將軍、豫州刺史劉毅也想為自己的未來掙得一些籌碼,於是準備討伐盧循。劉裕認為賊勢正盛,應待己戰船建成一同前去征討,但劉毅不聽勸阻,獨自率領二萬水兵將士從姑孰出。此時盧循打敗了到長沙迎戰的荊州刺史劉道規的軍隊,正準備進攻荊州刺史治所江陵,徐道覆聽說劉毅西上,急忙馳報盧循應與己合力迎戰劉毅:「若勝劉毅,江陵不足憂!」於是盧循與徐道覆併力東向,五月初七在桑落洲(在今安徽宿松西南長江中)大敗劉毅:劉毅只帶著數百人棄船步行倉皇逃歸,其餘將士都被俘虜。
其時北師雖還,但傷病滿營,京都將士不過數千,劉毅的敗況讓京都再次陷入恐懼之中。青州刺史諸葛長民和尚書左僕射孟昶再次建議擁帝過江,劉裕認為若如此勢必崩潰,不聽,孟昶惱怒自己的建議不被採納,且認為是自己當初極力贊成劉裕北伐才導致盧循內逼,於是引咎自殺:一時間京都人心惶惶。
劉裕卻成竹在胸。
他下令民眾修建石頭城,後來又聽從部將建議砍伐樹木,柵斷石頭城下的秦淮河入江口,又修治越城,築查浦、藥園、廷尉三營壘,命令將帥堅守勿動,不得貿然出戰,違者斬。盧循、徐道覆逼近石頭城之後,屢屢挑戰,各守衛處或堅守不動,或在劉裕、劉毅、諸葛長民、朱齡石等的率領下,奮力抵抗,盧循、徐道覆奈何不得,終究無功。
朝廷任命劉裕為太尉、中書監,為劉裕加黃鉞。劉裕只接受了黃鉞。黃鉞,是一種飾以黃金的長柄斧子,一般用以天子儀仗,也授給有殊勳的重臣出兵征討。
到了七月,盧循、徐道覆被迫南逃,準備先撤退到尋陽,然後攻取荊州;劉裕令王仲德、劉鍾、孟懷玉等武將追趕。
劉裕回到東府,大力製造戰船。衛將軍、豫州刺史劉毅請求追逃盧循,劉裕的長史王誕私下建議劉裕不要讓他的政敵在敗軍之後再立功以成就名望,劉裕就接受了這一建議,沒有答應劉毅的請求。
到了十月,劉裕親自率領兗州刺史劉藩等將領南擊盧循,只讓劉毅留守建康。
十二月,劉裕的大軍在大雷(在今安徽望江,時為江防要地)與盧循、徐道覆激戰,官軍乘風火攻,盧循軍大敗,逃回尋陽,準備前往豫章,就盡力柵斷彭蠡湖(今鄱陽湖)口。劉裕追趕到這裡,即將交戰,突然他的帥旗竿子折斷,旗子沉入水中,眾人以為是不祥之兆,都很驚懼,劉裕笑著說:「數年前討伐桓玄的覆舟山一戰,旗竿也折斷了;今日又如此,看來必定破賊!」於是率軍盡力攻柵,大勝,盧循單船南逃,其部眾被殺或投水而死者達萬餘人。
盧循自建康撤退的時候,劉裕就分派建威將軍孫處、振武將軍沈田子率三千人從海道襲擊盧循的根據地番禺(在今廣州市南),眾人認為海道難行,且分散現有兵力,並非當前要務;劉裕卻認為大軍十二月必破盧循,若能攻破番禺將使盧循南歸無所。
義熙七年(公元411年)二月,官軍追趕盧循,在始興斬了徐道覆。盧循逃歸番禺,見老巢已陷落,就帶領殘餘圍攻官軍守將孫處二十餘日,官軍依賴沈田子急救,盧循敗逃交州(治所在今越南境內)後投水而死,盧循、徐道覆勢力被徹底平定。
朝廷再次任命劉裕為太尉、中書監,劉裕這才受命,因為他認為這時候可以接受這樣的職位了。
義熙八年四月,朝廷任命豫州刺史劉毅為荊州刺史,都督荊、寧、秦、雍四州諸軍事。他愛好文史,喜結交有清望的朝士,與尚書僕射謝混及丹陽尹郗僧施尤為友善;他又一向自視甚高,自以為討伐桓玄的建義之功與劉裕相當,對劉裕身居高位掌控朝政心懷不滿。離開豫州時,他把豫州的萬餘精兵帶到了江陵;到了荊州後,他自以為佔據上流要地,就開始密謀消滅劉裕:他先要求兼督交、廣二州以擴大自己的力量,劉裕答應了;接著又要求讓郗僧施擔任南蠻校尉(軍府設在江陵,是朝廷為管轄西南部蠻民而專門設置的一個高級將領,和領兵的州刺史一樣,官階四品),劉裕又答應了。
到了九月,劉毅病重,郗僧施擔心劉毅要是死了同黨將處境艱難,就勸他邀堂弟兗州刺史劉藩來輔助自己,劉毅依照郗僧施的建議請示朝廷,劉裕假裝答應了。
劉藩從廣陵入京,劉裕就用詔書罪狀劉毅,說他和劉藩以及謝混等人圖謀不軌,接著就收捕了劉藩和謝混,然後出詔令賜二人死。
三日後,劉裕親率大軍,以參軍王鎮惡為前鋒征討劉毅,讓豫州刺史諸葛長民留守,同時安排太尉司馬兼丹陽尹劉穆之協助諸葛長民。
王鎮惡為了迷惑劉毅,就以劉藩西上為幌子,打著劉藩的旗號晝夜兼行,因此所過之處無人知道是官軍征討。離江陵還有五六里時,王鎮惡道遇劉毅干將朱顯之,朱顯之不見劉兗州,卻見軍人擔負著彭排(作戰時用以擋射箭)戰具,又見遠處被焚燒的戰船濃煙滾滾,知道並非劉兗州西上,急忙躍馬奔告劉毅,同時令關閉各城門。王鎮惡緊隨其後,眾人趁城門未及落下門閂得以入城。雙方激戰至天黑,城內守軍得知劉裕親自來,人心渙散,只有劉毅的親兵還在抵抗。
到了夜半,劉毅率領親信約三百人打開北門突圍,投奔寺僧;寺僧不敢收留,劉毅走投無路,自縊而死。劉裕到江陵後,殺了郗僧施。
朝廷加劉裕太傅、揚州牧,劉裕固讓不受。——是揚州牧而不是揚州刺史,這是給劉裕這樣的權臣的特殊名號。
在江陵,劉裕任命資歷尚淺卻有武干的西陽太守朱齡石為益州刺史,分大軍之半兩萬人給他去西討一直割據在成都的譙縱。——世事歷來如此:太平的時候,長官們喜歡任用那些平庸無能卻聽話的人;而在戰陣面前,他們必須用那些有才幹的人,因為無能的人除了自己送死損兵折將,還可能使得長官受損甚至賠了性命。
義熙九年(公元413年)二月末,劉裕回到東府。因一向驕縱貪婪,諸葛長民此時也擔心自己將成為下一個劉毅,開始自疑起來。為防意外,劉裕在東府先讓壯士丁晤埋伏在帷幔後面,自己和諸葛長民親切交談之後,丁晤從帷幔後走出來用力杖擊諸葛長民致其死,劉裕隨即又派人殺了他的兩個弟弟。劉裕又除掉一個政敵。朝廷加劉裕為豫州刺史。
七月,朱齡石攻克成都,譙縱逃至城外自縊而死,盤踞西蜀達九年之久的譙縱勢力滅亡。
劉裕再立一大功。