刘裕一路狂奔,回到京口,这时京口的何无忌已经联络了一大批北府兵旧将和其他反楚的中下级官吏,刘裕被推为起义首领。刘裕安排下三路人马,分别进攻青州刺史桓弘,徐、兖二州刺史桓修和豫州刺史刁逵。
京口这一路,刘裕和何无忌化装成钦差大臣带着一百多人来到桓修府中,等恒修出来迎接时,一刀将桓修劈死,因为京口士兵大多为北府旧部,是刘裕和何无忌的老部下,所以都投降了刘裕。司马刁弘率自己的军队来战,刘裕很快将刁弘击败,收降其部下,占了徐、兖二州。
广陵这一路,刘毅在桓弘手下做参军,刘道规为参军,孟昶为主簿,三个人一起邀请桓弘出去打猎。桓弘未加防备,一口答应。在打猎的那天早上。三个人带上打猎的刀枪剑戟直接走到桓弘的客厅,桓弘正在吃早饭,看见三个人拿着兵器还纳闷他们怎么这么着急。哪知道三个人一齐围上来用这些打猎的武器把桓弘给杀了,也收降了青州的士兵。刘道规据守广陵,刘毅和孟昶带兵去京口和刘裕会合。刘裕让孟昶守京口,然后挑出一万多精兵,攻向京师。
历阳这一路,诸葛长民却被刁逵先发制人,反被擒获。刁逵把诸葛长民等人装入囚车中送往京城。
桓玄听说刘裕等人造反,不由大惊道:&ldo;刘裕是当世英雄,刘毅为人杰,何无忌的军事才能不亚于他的舅舅刘牢之。这三个又一起联合起来反对我,我就要败啦!&rdo;这时桓谦大哭闯入,一定要请桓玄出兵击杀刘裕,为二弟桓弘报仇。
桓玄道:&ldo;刘裕虽然兵少,但这个人打仗很厉害,手中又握有善战的北府兵,如果出兵对决,一旦战败,大势去矣!不如把所有的军队都收缩到覆舟山一带防守。刘裕行军数百里不见一兵一卒,忽在覆舟山见我数倍于他的大军,军心必惧。我们坚守不出,刘裕的军队久攻不下,军心会更加动摇。到时,刘裕自然会退兵。&rdo;但桓谦一定要桓玄出击,为二弟报仇。桓玄被他缠得没有办法,就派顿丘太守吴甫之、右卫将军皇甫敷先后北上去攻刘裕。
吴甫之率三万兵在江乘与刘裕的部队相遇。吴甫之先击败前锋何无忌,但刘裕的中军随后杀到,又大败吴甫之的部队,并杀死吴甫之。刘裕带军队追杀吴甫之的残兵,追到罗落桥的时候,皇甫敷率领五万大军赶到。两军混战一番后,刘裕因为兵少,被楚军分割包围,刘裕手下将军檀凭之被射死。在这危急时刻,刘裕带一小队人马,奋力杀向皇甫敷,把皇甫敷杀死。皇甫敷死后,形势顿时逆转,失去主将的楚兵纷纷撤退,刘裕趁势掩杀,沿途又征招降兵,很快壮大成为一支三万人的队伍。
桓玄急忙任命桓谦为征讨都督,令游击将军何澹之率两万人守东陵,又命卞范之率一万兵防守覆舟山,作为东陵后援。刘裕进兵至东陵,很快击溃桓谦的军队,接着又攻下覆舟山。桓谦、何澹之、卞范之逃回京城,对桓玄道:&ldo;刘裕的兵力很强,漫山遍野,不知有多少。你快逃吧!&rdo;桓玄也被吓坏了,带着三个人和数千亲信及士兵挟持着晋安帝和司马德文仓皇逃出京城。前相国参军胡籓拉住桓玄的马笼头道:&ldo;现在你还有八百羽林军射手,身边也有数千人,为什么不去和刘裕决一死战呢?今天你离开京城,就再没有回到京城的那一天了。&rdo;
桓玄无以作答,只以鞭指了指天,表示这是天意,便率众人逃到石头城,又从石头城乘船西逃。一路上桓玄心情难受,刚当上皇帝没几天就被人家赶下台,这皇帝做的还不如安帝那个白痴。他难受得连一口饭都咽不下去,还是他的儿子桓昇替他抚胸才得以咽下。等到了浔阳,江州刺史郭昶之迎接桓玄,桓玄遂命何澹之和郭昶之守在湓口,自己与桓谦、卞范之等人,胁持晋安帝和司马德文退回江陵。
刘裕的军队到了建康,王谧率京中百官出城来迎。刘裕入城后派刘毅率何无忌、刘道规等率一万水军继续追剿桓玄,又把城中没来得逃走的桓氏宗族余党全部杀死。有人向刘裕告发说:&ldo;王谧帮助桓玄篡位。当年桓玄篡晋时,王谧还亲手解下晋帝的玺绶。&rdo;
王谧当年从刁逵手中救下刘裕,后来不但一直资助刘裕,还激励他事业上进,刘裕一直记在心里,把王谧当做恩人,所以对这件事睁一眼闭一眼,并没有去加罪王谧。刘裕执掌朝纲后,到处寻求人才,先后重用刘穆之、胡籓、臧熹等人,又整理纲纪,打击豪强,严肃法律,稳定了社会。
不久诸葛长民也回来了。原来,诸葛长民被押到当利口的时候,传来消息,桓玄败出京城。押送诸葛长民的士兵也起义反对桓玄,打开囚车放出诸葛长民等人,诸葛长民又潜回到历阳,发动兵变。刁逵在兵变中失败,弃城而走,后来被其部下擒回,反被诸葛长民用槛车押送到京城。刘裕以前被刁逵欺负过,所以连审都没审,就让人把刁逵杀了。
击败桓玄入京后,按道理应当封赏功臣。但皇帝不在了,封官的事就只好互相推选吧。王谧和大家推举刘裕为扬州刺史。刘裕一再拒绝,最后以王谧为侍中,领司徒,扬州刺史,录尚书事。大家又推举刘裕为使持节,都督扬、徐、兖、豫、青、冀、幽、并八州诸军事,徐州刺史,推选刘毅为青州刺史,何无忌为琅琊内史,孟昶为丹阳尹,刘道规为义昌太守,诸葛长民为宣城内史。刘敬宣和司马休之听说刘裕打了胜仗,起义成功,也从南燕回国。毕竟刘裕当年是跟着刘牢之混起来的,看在刘牢之的面子上,刘裕让大家推选刘牢之的儿子刘敬宣为晋陵太守,又任命司马休之为会稽内史。