青徐兖三州已经大致平定,只有建康和豫州二路,还没有发动。刘裕让刘毅写信报告他的哥哥,他的哥哥就是刘迈,收到刘毅的信,犹豫不决。送信的人周安穆,见刘迈迟疑,担心阴谋泄露遭受灾祸,匆匆告辞回去。刘迈正接受桓玄的任命为竟陵太守,想要连夜出行,希望能够避难,忽然收到桓玄的信,说:“北府的人情怎么样?你近来见到刘裕,他说了什么?”刘迈看完信,还以为桓玄已经察觉刘裕的阴谋,竟然默默等到天亮,自己去自首。桓玄顿时大为吃惊,当面封刘迈为重安侯,立刻命令卫兵出宫,逮捕王元德、辛扈兴、童厚之等人,在街市上一同处死。不久有人向桓玄诬陷刘迈,说刘迈放走周安穆,不免是同谋。桓玄于是把刘迈收押下狱,也判处死刑。刘迈也该死。
那刘裕已被众人推举,作为盟主,总督徐州军事,任用孟昶为长史,檀凭之为司马,当下号召徐兖二州的众人,得到一千七百人,出兵驻扎在竹里,向远近传发檄文,声讨桓玄。桓玄于是任命扬州刺史桓谦为征讨都督,并让侍中殷仲文,代替桓修担任徐兖二州刺史,一起抵御刘裕。桓谦请求发兵迅速攻击,桓玄皱着眉头说:“他们的军队很精锐,向我拼死作战,如果我们一旦受挫,大事就完了,不如屯兵在覆舟山脚下,以逸待劳,他们空行军到二百里之外,无法作战,锐气必定受挫。忽然看见我大军屯守,势必回头,我们再按兵坚守营垒,不与他们交锋,使他们求战不得,自然就散去了,这是今天的上策啊。”桓谦还是坚持之前的建议,坚决请求出战。桓玄于是请求顿邱太守吴甫之,右卫将军皇甫敷,向北攻击刘裕的军队。各军陆续出发,桓玄心里还带着惊慌,在宫中来回走动,彷徨不定。身边的人从旁劝慰说:“刘裕等人不过是乌合之众,势必不能成功,陛下何必如此多虑?”桓玄摇头说:“刘裕是当世的英雄,刘毅家里连一石粮食都没有,赌博却能一掷百万,何无忌酷似他舅舅,一起举大事,怎么能说不会成功?”说到这里,又想起从前不听妻子的话,懊悔不已。原来刘裕担任彭城内史,曾在桓修麾下,兼任中书参军。桓修曾经入京拜见桓玄,刘裕也跟着去了。桓玄见刘裕风骨不凡,称他为奇杰,对待他很优厚,每逢宴会,必定召刘裕入座。桓玄的妻子刘氏,从屏风后面窥见刘裕的相貌,说刘裕龙行虎步,顾盼非凡,将来一定不可控制,因此劝桓玄趁早除掉刘裕。桓玄想要依靠刘裕作为助力,所以始终没有听从,谁知道刘裕回到京口,果然纠集众人发难,成了桓玄的对头,桓玄怎能不悔?怎能不恨?但已经来不及了。刘寄奴王者不死,蛇神都拿他没办法,桓玄夫妇怎能杀得了刘裕。刘裕率领军队径直前进,攻克京口,任用朱龄石为建武参军。朱龄石的父亲朱绰,曾是桓冲的属吏,到这时朱龄石虽然接受刘裕的命令,自己说受桓氏厚恩,不想对桓氏动刀。刘裕赞叹他是义士,只是让他跟在后面的队伍,不让他在前面。行军到江乘,正遇到桓玄的将领吴甫之,带兵杀来。吴甫之向来号称骁勇,完全不把刘裕放在眼里,拍马向前,挺槊急进。刘裕军队的前队,被打倒了几个人,正在杀得兴起,突然有一员将领飞驰而来,厉声大喊道:“吴甫之敢来送死吗?”吴甫之没有仔细看,已经被来将用大刀一劈,砍落马下。各位看官知道是谁吗?原来就是刘裕。刘裕趁吴甫之不备,把他劈死,便杀散其余的人,进军罗落桥。对面有敌军列阵,是桓玄的将领皇甫敷。刘裕又想要亲自出去交战,只有司马檀凭之,纵马先出,与皇甫敷交锋,战了几十个回合,檀凭之力气不足,一个失手,被皇甫敷刺死。刘裕不禁大怒,自己出去接战,皇甫敷向来听说刘裕的名声,不敢轻易与他交手,只是指挥众人包围刘裕,把刘裕围了好几层。刘裕一点都不畏惧退缩,靠着大树,与皇甫敷力战。皇甫敷对刘裕喊道:“你想怎么死?”说着,就拔戟刺向刘裕。刘裕大喝一声,吓得皇甫敷倒退几步,不敢靠近。恰好刘裕的同党都来救援,击破皇甫敷的军队,皇甫敷解围想要逃走,刘裕命令军士一起放箭,射中皇甫敷的额头,皇甫敷受伤倒地,刘裕持刀向前,将要杀皇甫敷,但听皇甫敷凄惨地说道:“您得天命,我应该受死,只希望您能照顾我的子孙。”刘裕一面答应,一面下手斩杀皇甫敷,随即命令军吏优厚抚恤皇甫敷的家人,安抚孤寡,表明不会食言。并且因为檀凭之战死在军中,特地让他的侄子檀祗,代领遗留的部众,仍然进逼建康。
桓玄听说两员将领战死,更加惊心,急忙召集各位术士推算吉凶,并做厌胜诅咒等法术,并且问群臣道:“我难道就这样败亡吗?”群臣都不敢发言。只有吏部郎曹靖之大声说道:“百姓怨恨,神灵愤怒,我实在寒心。”桓玄惊惶地说:“百姓或许有怨恨,神灵有什么愤怒?”曹靖之说:“晋氏的宗庙,漂泊在江边,大楚祭祀不及祖先,怎么能不愤怒?”桓玄又说:“你为什么不先劝谏?”曹靖之说:“京城的君子,都说时逢尧舜,我怎么敢多言。”桓玄无话可答,只是长叹好几声。威风扫地。不久派桓谦出兵屯驻东陵,卞范之出兵屯驻覆舟山西,总共合兵二万人。刘裕到了覆舟山以东,让军士饱餐一顿,抛弃剩余的粮食,决心拼死一战,先让老弱残兵,登上高处张旗,作为疑兵,然后与刘毅等人分别组成几队,突进桓谦的阵营。刘毅和刘裕都身先士卒,拼死向前,将士们也踊跃跟上,喊声震天动地。恰好有大风从东北吹来,刘裕的军队正在上风,就放起一把火来,火随风势,风助火威,烧得桓谦部下,都变成了焦头烂额的活鬼,哪里还敢恋战,纷纷大败溃散。桓谦和卞范之,也像一溜烟似的逃跑了,苟且偷生。
桓玄因为两军交战,时常派遣侦察骑兵探听报告,侦察骑兵看到了疑兵,就返回报告说刘裕的军队到处都是,不知道有多少。桓玄急忙派遣武卫将军庾赜之,带领精兵,去支援桓谦的军队,暗中却让领军将军殷仲文,到石头城准备船只,以便逃走。忽然有探马跌跌撞撞地进来报告,说是桓谦、卞范之的两军,都已经溃败。桓玄急忙召集亲信几千人,仓皇出逃,口中还声称去作战,带着儿子桓昇和侄子桓濬,出南掖门。恰好遇到前相国参军胡藩,拉住桓玄的马劝谏阻止说:“现在羽林射手,还有八百人,不是亲信就是故旧,他们受到陛下累世的厚恩,应该肯效力,您却不驱使他们一战,偏偏舍弃这里离开,究竟哪里可以安身?”桓玄无暇回答,只是用鞭子向天一指,就策马向西跑去。跑到石头城,看到殷仲文已经准备好船只,就上船行驶。船中没有准备粮食,整日没有进食。等到行驶到百里之外,才从岸上找到粗粮,割芦苇做饭,大家才得以饱餐一顿。桓玄勉强取食,咽不下去,由儿子桓昇替他抚胸,惹得桓玄涕泪俱下,又担心追兵到来,直接前往寻阳去了。
只有建康城内,已经没有主子,司徒王谧等人,当然背叛桓玄,迎接刘裕进入都城。王仲德抱着王元德的儿子王方回,出城等候刘裕。刘裕接见后,就将王方回抱入怀中,与王仲德相对哭泣一场,当面任命王仲德为中兵参军,追赠王元德为给事中,然后将王方回交还给王仲德,率兵驰入都中。过了一天,移驻石头城,设立留台,让百官照常办事,取出桓温的神主牌位,到宣阳门外毁掉,另外建造晋室的新神主,奉入太庙。又派刘毅等人追击桓玄,所有桓玄的家族党羽,留在建康的,全部逮捕诛杀。再派部将臧熹入宫检收图书器物,封闭府库,臧熹一一收敛贮存,没有一点私心。刘裕于是倡议迎接皇帝,派尚书王嘏,率领百官前往寻阳,迎接安帝回来。王嘏和百官奉命离去,只有王谧留守留台,推举刘裕统领扬州军事。刘裕一再坚决推辞,让王谧担任扬州刺史,仍然兼任司徒,兼官侍中,录尚书事。王谧又推举刘裕都督扬、徐、兖、豫、青、冀、幽、并八州,兼任徐州刺史,刘裕就接受任命不再推辞。推辞扬州而不推辞八州,他的心意可想而知。当下任命刘毅为青州刺史,何无忌为琅琊内史,孟昶为丹阳尹,刘道规为义昌太守。凡是军国大事的处置,都委任刘穆之,匆忙办理,没有不就绪的,朝野一致信服。只有诸葛长民之前和刘裕约定,谋划占据历阳,事情还没有发动,被刺史刁逵得知,把他拘捕起来,用囚车送往建康。行进途中正有利,听说桓玄出逃,建康已经属于刘裕,解差乐得卖人情,打破囚车放出诸葛长民,返回奔向历阳。历阳的兵民,趁机反正,赶走刺史刁逵,刁逵弃城逃跑,正与诸葛长民相遇,再加上城中的兵士追来,无处逃避,只好下马被缚,由他们解送到石头城,一刀处死。他的子侄等人也都被杀,只有小弟弟给事中刁聘,有幸得到赦免。刘裕任命魏咏之为豫州刺史,镇守历阳,诸葛长民为宣城内史。先前刘裕年少贫贱,轻浮狡猾没有德行,名流大多不与他往来,只有王谧向来看重刘裕,曾对刘裕说:“您应当成为一代英雄。”刘裕也因此自负。恰好和刁逵赌博,输了钱不偿还,刁逵把他绑在树上,责令还钱,后来由王谧代为偿还,才得以释放刘裕。刘裕感激王谧越深,恨刁逵也就越厉害,到这时报恩报仇,才得以实现志向。只是桓玄篡位时,王谧确实帮助桓玄作恶,亲手解下安帝的玺绶,献给桓玄。见前文。当时舆论都认为王谧应当论罪处死,只有刘裕极力保全,王谧才得以平安。因私废公,终究是不对的。
桓玄逃到寻阳,想要休息一下,听说刘毅等人又追来了,他急忙胁迫安帝兄弟,以及何王二后,乘船西行。安帝被迁到寻阳,事见上文。留下龙骧将军何澹之,与前将军郭铨,刺史郭昶之等人,在湓口堵截。刘毅等人不能前进,尚书王嘏等人,无法迎接皇帝,只好回去报告刘裕。刘裕于是假称接受皇帝的密诏,迎接武陵王司马遵为大将军,暂时居住在东宫,秉承皇帝旨意行事。司马遵的父亲名叫司马晞,就是元帝的第四个儿子,受封武陵,由司马遵承袭爵位,留在建康,任中领军。桓玄篡位,降司马遵为彭泽侯,勒令他前往封地。司马遵刚出石头城,刘裕的军队就到了,于是退回府第,此时总揽朝政,称制大赦,只有桓玄一族,不在赦免之列。恰巧刘敬宣、司马休之,从南燕逃回,于是让司马休之担任荆州刺史,监督荆、益、梁、宁、秦、雍六州军事,刘敬宣担任晋陵太守。他们两人逃往南燕时,曾与刘轨、高雅之同行,见前文。后来想要密谋南燕王慕容备德,事情泄露向南逃奔,刘轨和高雅之被南燕兵追杀斩首,只有司马休之、刘敬宣得以逃脱,返回成为晋臣。司马休之奉命赴任,但此时的荆州,还被桓石康占据,怎么肯让给司马休之,再加上桓玄从寻阳赶来,当然迎接桓玄,与晋对抗。桓玄仍然称楚帝,就以江陵为楚都,眼看桓玄虽然失败,还有一段尾声。