刘裕进攻覆舟山,并命弱兵登山,持着旗帜分道而行,营造四周皆有士兵,数量很多的假象;而又因桓玄守军大多是北府军出身,面对刘裕都没有斗志,刘裕于是与诸军进攻,顺利以火攻击溃桓玄守军,而桓玄亦弃城西逃。
同年三月,刘裕获王谧等人推举,出任使持节、镇军将军、徐州刺史,都督扬、徐、兖、豫、青、冀、幽、并八州诸军事。不久后,又奉武陵王司马遵承制,总领百官行事。东晋末年,政局混乱,百官放纵,百业废弛,刘裕以身示范,先以威严约束宫廷内外,百官都认真供职,在二三日内,朝廷风气为之大变。
刘裕在进建康城后,派诸将追斩桓玄,晋安帝在江陵复位。然而,桓氏势力仍在荆州盘据,并反攻江陵,直至公元405年,晋军才再收复江陵,驱逐当地桓氏势力,并迎安帝返回建康。不久,刘裕还镇丹徒。
同年刘裕遣使到后秦,要求后秦归还之前占领的南乡、顺阳、新野、舞阴等淮北诸郡,后秦皇帝姚兴或鉴于西面战事吃紧,不想再在东面与刘裕为敌,于是答应将淮北十二郡全部归还。
公元406年十月,刘裕因“匡复之功”,受封为豫章郡公,食邑万户,获赏绢三万匹。僚佐规格只比原太傅谢安府低一等。
公元407年正月,因王谧去世,刘裕听从幕僚刘穆之劝言,入朝商议继任人选。最终获授侍中、车骑将军、开府仪同三司、扬州刺史、录尚书事、徐兖二州刺史,入掌朝政大权。
晋朝只从衣冠南渡之后,时时面临着北方的威胁。祖逖、庾亮、褚裒、殷浩、桓温都曾先后北伐,但无一成功。为了强大自身,刘裕决定兴师北上。
公元409年,南燕皇帝慕容超袭位,纵兵肆虐淮北。刘裕为抗击南燕,外扬声威,于四月自建康率舟师溯淮水入泗水。
同年五月,进抵下邳,留船舰、辎重,改由陆路进至琅邪。为防南燕以奇兵断其后,所过皆筑城垒,留兵防守。慕容超恃勇轻敌,对晋军进入其境不以为虑。六月,刘裕未遇抵抗,过莒县,越大岘山。慕容超此前先遣公孙五楼、贺赖卢及左将军段晖等,率步、骑兵五万进据临朐。慕容超得知晋兵已过大岘山,自率步骑四万继后。燕军至临朐,慕容超派公孙五楼率骑前出,控制临朐城南的巨蔑水。与晋军前锋孟龙符遭遇,公孙五楼战败退走。刘裕以战车四千辆分左右翼,兵、车相间,骑兵在后,向前推进,与慕容超所派精骑激战,胜负未决,刘裕采纳参军胡藩之策,派兵绕至燕军之后,乘虚攻克临朐,又纵兵追击单骑逃脱的慕容超,大败燕军,斩段晖等十余将。慕容超逃还广固。
随后刘裕乘胜追击北上,攻克广固外城。慕容超退守内城。刘裕筑围困之,招降纳叛,争取民心,并就地取粮养战。慕容超被困于广固内城,先后遣使驰往后秦求援。
同年七月,后秦主姚兴派卫将军姚强率步、骑兵一万,与洛阳守将姚绍汇合,统兵共救南燕。并遣使向刘裕宣称,后秦以十万兵屯洛阳,若晋军不还,当长驱而进。刘裕识破姚兴虚张声势,不为所动。不久,姚兴被胡夏军击败,遂令姚强撤回。慕容超久困于广固,不见后秦援兵,欲割地、称藩于东晋,刘裕不允。南燕大臣相继降晋。
同年九月,刘裕截获为借兵去后秦的韩范,使其绕城而行,以示后秦救兵无望,城内南燕守军惊恐。随后到了十月,晋军在前燕降将张纲的帮助下,制成了飞楼、冲车等攻城器具,加强了攻防能力。
公元410年二月,贺赖卢、公孙五楼率军挖地道出击晋军,被击败,退回内城。刘裕乘机四面攻城,南燕尚书悦寿打开城门迎降,晋军攻入广固内城。慕容超率数十骑突围而走,被晋军追获,南燕灭亡。刘裕以广固久守不降为由,入城后,尽杀南燕鲜卑族王公以下三千人以泄愤。慕容超被押送回师,在建康街头斩首。
占据岭南的卢循、徐道覆趁刘裕领兵在外,于公元410年起兵,进攻江州。朝廷急征刘裕,而当时刘裕刚灭南燕,收到诏书就撤还建康。刘裕至山阳时知江州刺史何无忌已战死,于是加速回防建康,并于四月赶至。五月,豫州刺史刘毅大败于卢循。卢循继续东下,而刘裕当时就招募兵众,修治石头城并于当地聚兵。不过,由于刘裕急急南返,士卒多有伤病,而建康兵力亦不过千人,面对有十多万人的卢循大军显得实力悬殊,然而刘裕坚决不肯接受诸葛长民及孟昶奉安帝北归广陵避敌的建议,决意死战。
卢循军到后停驻蔡洲,刘裕就以木栅阻断石头城及淮口,修治越城并建查浦、药园、廷尉三个堡垒,分兵戍守以御卢循,卢循曾分疑兵进攻白石及查浦,自率大军进攻丹阳郡,但都没有取胜,而且在各县中都无法抢掠到物资,于七月退兵江州。十月,刘裕率刘藩、檀韶、刘敬宣等人进攻卢循,并于十二月以火攻击败卢循船队,卢循试图于左里反击,但遭大败,只得南逃广州。但刘裕早已派孙处及沈田子经海路攻占了卢循的根据地番禺,卢循一再败逃,终为交州被刺史杜慧度所杀。徐道覆则在始兴被杀。
随后刘裕于公元411年正月班师回到建康,被改授为大将军、扬州牧,赐班剑二十人,但他极力推辞。随后,刘裕将南征北战中阵亡将士的名单列上,请朝廷为其安葬;如果遗体尚未运回的,派主帅前往收敛,送回本土。卢循之乱基本平定后,刘裕再次辞去大将军之职,晋帝于是任他为太尉、中书监。
可以说此时的刘裕已经到了人臣的巅峰,如果更进一步接下来就是行不臣之事了。