公元412年九月,刘毅抵达江陵,带来江州一万余老部众,甚至请求堂弟刘藩前来帮忙。刘毅之前觉得自己有些文化,拉拢不少士族,或许这些士族是因为被刘裕厌恶无安身之处,在建康混不下去的士族大都跟随刘毅去了江陵。
对于刘藩调动,刘裕同意了,但刘藩接受任命必须要回建康,趁这个机会刘裕公布刘毅的罪状,将刘藩以及与刘毅亲昵的谢混赐死。随后,刘裕亲自率军讨伐刘毅,让司马休之接替刘毅的荆州刺史,诸葛长民接替豫州刺史,弟弟刘道怜驻守京口。当然荆州、豫州仍被刘毅占据,无法上任,特别是诸葛长民,刘裕将他留在太尉府,与刘穆之一起总理朝廷事务,当然实际是刘穆之在打理。
武人的勇猛再次显现,王猛之孙王镇恶,虽然加入刘裕阵营时间较晚,但在讨灭南燕的战斗中表现突出,深得刘裕赏识,此次西进,王镇恶请求刘裕交给他一百条船担任先锋。刘裕对其交代,如果得胜便进攻,如果不利就焚烧敌方舰船,将小船停留在岸等待大军。
十月,王镇恶抵达豫章口,离江陵城只有二十里,于是下船步行进军,每条船上留一两个人,岸边立起六七面旗帜,旗下放置战鼓。王镇恶告诉留下的人:估计我们就要到江陵城时,你们便不停地擂起战鼓,做出后面好像还有大部队的样子。另派人去烧刘毅停靠在江津(今湖北省荆州市南长江中的船舰。王镇恶径直去突袭江陵城,在离城还有五六里远时,碰上刘毅手下将领,对方问道:“干嘛的”,答道:“刘藩部众”,又问:“刘藩在哪里?”,军士们说:“在后面。”刘毅的人走到后面只看到盾牌等兵器,又看见江津的船舰起火被烧,江边又传来鼓声,这才骑马回城向刘毅报告。王镇恶的部众早已进入江陵城,刘毅的部众大多北府兵出身,与王镇恶的部众都很熟,得知刘裕亲自带兵前来便一哄而散。半夜,刘毅突围逃出,投奔江陵城外佛寺。此前刘毅杀过寺里为桓氏提供藏身之处的僧人,这次佛寺坚决拒绝刘毅进入,无处可躲刘毅自缢而亡,随后刘毅一族被灭。
此时与刘裕一同起事的十二人中,除去战死的、自杀的、病亡的,能稍有实力仅剩诸葛长民,看到刘毅的下场,他很担心。诸葛长民写信征求另一位北府元老刘敬宣的意见,刘敬宣转手将信交给刘裕,表明立场。公元413年三月,刘裕返回建康,诸葛长民前来汇报工作,刘裕遣散胖人拉着他单独谈心,把一辈子说不透的话都说了,诸葛长民很高兴,可惜刚谈完便跳出一人将诸葛长民绞杀,之后诸葛一族被诛灭。
平定西府时,刘裕以其内弟臧熹监军,分兵两万交给朱龄石,并任命其为益州刺史,继续向西讨灭谯蜀。朱龄石在刘裕起兵京口是从桓氏阵营中转投,每次行军都跟随刘裕,深得刘裕赏识,但资历相对较浅。或许刘裕不希望派一个资历深的去蜀地,之后又多出一个军阀,朱龄石是相对合适的人选。
朱龄石出发前,刘裕交代给他一个盒子,盒子里装的伐蜀的计策,当然这是二人交流后的一致意见,毕竟朱龄石资历浅,刘裕担心其不服众。五月,按照刘裕的指示,大军行至白帝(今重庆奉节县东十里白帝山上时,朱龄石公布密信:大军一律经外水(岷江攻向成都,臧熹等经中水(沱江攻取广汉,老弱兵搭乘十多艘高大战舰,经内水(涪江向黄虎(在今四川省遂宁射洪市南附近进发。谯蜀果如刘裕所想,主力防备内水,重兵驻守涪城(今四川省绵阳市东附近。七月,谯蜀国主谯纵,这位趁刘毅讨灭桓玄之际,遇上前去号称是支援朝廷的时任益州刺史毛璩部众内乱,据说谯纵是被绑去成都当的国主。谯纵此时在朱龄石率众猛攻之下,部众溃散,只好弃城逃跑。按照刘裕惯例,谯氏一族被灭。朱龄石进升都督梁、秦六郡诸军事,同时被封县侯。年底仇池国放弃梁州,汉中地区重新归入东晋。
对于刘裕,只剩司马休之这一个眼中钉,虽然他在建康留下儿子当人质,但在公元415年,刘裕杀掉司马休之的次子和侄子,亲自率兵向荆州进兵。当时雍州刺史鲁宗之或许觉得下一个目标就是自己,于是与司马休之联结抵御刘裕。司马休之是刘裕匡扶晋室以来第四位荆州刺史,本身根基不稳,毫无意外的被刘裕击溃,司马休之、鲁宗之北投后秦。
至此,刘裕可以剑履上殿、入朝不趋、赞不拜名,兼任太尉、中外大都督及都督二十二州诸军事等等,东晋境内归为一统,当然这个一统是归刘裕统治。此时姚兴驾崩,刘裕着手准备讨灭后秦,走桓温的老路子。
公元416年八月,刘裕以刘穆之为尚书左仆射,坐镇建康总揽朝政、供应粮草,自己率大军北伐后秦。北府起兵元勋、冀州刺史王懿担任前锋,开通巨野(今山东省菏泽巨野县东北附近进入黄河的河道;王镇恶、檀道济领步兵从淮水向许昌、洛阳进发;朱超龄的弟弟朱超石等进军阳城(今河南省郑州登封市东南附近;沈田子等进军武关(今陕西省商洛丹凤县东南附近;沈林子等率水军从石门出发,自汴水入黄河。王镇恶、檀道济进入后秦境内,后秦郡县守将闻风而降,随后顺利攻占许昌。沈林子顺汴水攻破仓垣(今河南省开封市东北附近。王懿军逼近北魏控制下的滑台,守将弃城逃走,王懿进驻滑台。朱超石攻下阳城、荥阳。十月檀道济攻破洛阳,修复晋室陵寝并设置守卒。
公元417年正月,后秦那里的姚氏宗室内乱不止,对于刘裕则北伐形势一片大好。于是刘裕留其子刘义隆镇守彭城,自己亲率大军向西进军。然而当初刘裕的命令是让各路人马在洛阳集结,一并向西进兵关中,此时王镇恶直接进兵潼关,沈林子、檀道济进攻蒲坂,都是久攻不下,沈林子、檀道济又与王镇恶合兵,一同进攻潼关,还是无法攻克,后方的运粮通道反而被后秦截断,情况十分危急。刘裕大军进入黄河,北魏派数千骑兵跟随,不时进行骚扰,刘裕决定还击。四月,刘裕用战车结合神弩,祭出新月战阵:战车以河岸作为月弦,两端抱住河道,每个战车上布置七个武士。刘裕在黄河北岸使用一百辆战车进行布阵,布置完毕,在阵中竖一个白色羽旗。北魏军不知道这是什么意思,远远的观望。阵中的白旗一举起来,朱超石率领两千步兵奔入新月阵,携带神弩一百张,每个战车上增加到二十人,并在车辕上安置了防箭木板。北魏三万骑兵对新月阵包围进攻,由于北魏军人数太多,刘裕军的神弩不能阻止北魏军势头,朱超石命人把铁稍折成三四尺长,用大锤锤打铁稍,一稍下去,能贯穿三四人。北魏骑兵终于招架不住,一时间四处溃散。刘裕一改士族带兵的温柔打法,此后北魏再也不敢在岸边骚扰刘裕。
四月中旬,刘裕进至洛阳,为防止魏军偷袭,在洛阳停军两个月,部署后方的防卫。七月,刘裕进至陕城(今河南省三门峡市西,沈田子攻入武关,进屯青泥(今陕西省西安蓝田县附近。八月,刘裕至閺乡(今河南省三门峡灵宝市附近,东靠函谷关,西连潼关,后到达潼关与各路兵马会合。刘裕同意王镇恶的提议,让其率水军从黄河入渭水,逼向长安。此时后秦皇帝姚泓为缓解两面受敌的危局,谋划先消灭沈田子军,再抵御刘裕,于是率步骑数万进攻青泥。沈田子军本为疑军,不过一千余人,但战力爆表,斩杀后秦一万多人,缴获姚泓的御用物品,姚泓本人逃回灞上。此时,王镇恶军在渭水中逆流而上,到达渭桥(今陕西省西安市西北后,让战士们吃饱喝足丢弃战船,与后秦军背水一战。姚泓的部众接连失败,这一次又是一触而溃,姚泓单人匹马逃回皇宫。最终长安被攻陷,姚泓率家眷群臣投降,后秦灭亡。九月,刘裕抵达长安,王镇恶在灞上迎接,按照刘裕的惯例,姚泓及姚氏一族被灭。
十一月,刘裕的基石刘穆之去世。刘穆之对内总管朝廷政务,对外供应军旅给养,遇事当机立断,因此一切事情,没有堆积迟滞的。宾客前往刘穆之处,各种请求诉讼千头万绪,谘询禀报的文书堆满屋子。刘穆之可以做到眼睛看公文,手写批复,耳朵听汇报,嘴里对答自如,同时进行四种工作互相之间又不混淆错乱,全都处置得当。刘穆之喜欢各种社交活动,从早到晚的说笑谈天,偶尔有闲暇便练习书法,亲自抄书,参阅古籍,校订错误。刘穆之曾经告诉刘裕:我出身本来贫穷微贱,自从得到您的信任、跟从您以来,仅是生活方面奢靡了些,除此而外,没有哪点是对不起您的了。史书记载,刘穆之因为没揣测出刘裕想要九锡的想法,愧惧发病,然而按照刘穆之的生活节奏,拖垮身体是迟早的事。直到公元418年六月,刘裕才接受相国、宋公、九锡之命。
建康朝廷内没了主心骨,刘裕急忙返回,他还有更重要的事要办。刘裕留下其十二岁的儿子刘义真以及王修、王镇恶、沈田子等共守长安,自己统军南归。之后便是阵中内讧,沈田子杀王镇恶,王修杀沈田子,刘义真复杀王修,朱龄石回援阵亡,赫连勃勃趁虚攻占长安,刘义真单骑逃逸。
虽然刘穆之去世打乱了刘裕收复中原的计划,但讨灭后秦已经远超桓温当年的剧本,在自家人稳控四方之后,刘裕进位只是时间问题。