桓玄挟持安帝乘坐单船向西逃跑,把永安何皇后和王皇后留在巴陵(今湖南岳阳)。殷仲文当时在桓玄的船上,请求离开大船,另乘小船去收集溃散的士兵,趁机背叛桓玄,侍奉两位皇后逃往夏口(今湖北武汉武昌),随后返回建康。
己卯日(二十三日),桓玄和安帝抵达江陵。冯该劝说桓玄再次东下决战,桓玄不听,想逃往汉中投奔桓希,但人心涣散,政令无法推行。庚辰日(二十四日)夜里,桓玄安排好出发事宜,城内却已大乱,他只好和一百多名亲信心腹骑马从城西逃出。到城门时,身边的人在暗中砍杀桓玄,没有砍中,他的部下反而互相残杀,尸体横七竖八。桓玄勉强逃到船上,身边的人纷纷离散,只有卞范之还在身边。
辛巳日(二十五日),荆州别驾王康产侍奉安帝进入南郡府衙,太守王腾之率领文武官员担任侍卫。
桓玄准备前往汉中,屯骑校尉毛修之是毛璩的侄子,引诱桓玄进入蜀地,桓玄听从了他的建议。宁州刺史毛璠是毛璩的弟弟,在任上去世。毛璩派他哥哥的孙子毛佑之和参军费恬率领几百人,护送毛璠的灵柩返回江陵。壬午日(二十六日),他们在枚回洲(今湖北荆州江陵西南长江中)遇到桓玄。毛佑之、费恬迎击桓玄,箭如雨下,桓玄的宠臣丁仙期、万盖等人用身体掩护桓玄,都被射死。益州督护汉嘉人冯迁抽刀上前,准备击杀桓玄,桓玄拔下头上的玉簪(玉导)递给冯迁,说:“你是什么人,敢杀天子!” 冯迁说:“我杀的是弑君叛贼!” 于是斩杀桓玄,又斩杀桓石康、桓浚、庾赜之,抓住桓昇送往江陵,在街市上斩首。安帝在江陵恢复帝位,任命毛修之为骁骑将军。甲申日(二十八日),朝廷宣布大赦,所有因畏惧逼迫而追随叛逆的人,一概不予追究。戊寅日(二十二日,此处日期或为前文疏漏,按上下文应为后续日期),朝廷将晋朝宗庙神主送入太庙。刘毅等人把桓玄的头颅传送到建康,挂在朱雀航(大桁)上示众。
刘毅等人战胜后,认为大事已定,没有紧急追击桓玄残部,又遇到大风,船只无法前进,桓玄死后将近十天,各路军队还没赶到江陵。当时桓谦藏匿在沮中(今湖北宜昌远安一带),扬武将军桓振藏匿在华容浦(今湖北荆州监利北),桓玄过去的部将王稚徽驻守巴陵,派人告诉桓振说 “桓歆已经攻克京城,冯稚又攻克寻阳,刘毅等人的军队都已中途败退”。桓振大喜,聚集两百名党羽,袭击江陵,桓谦也聚集部众响应他。闰五月,己丑日(初三),桓振等人再次攻陷江陵,杀死王康产、王腾之。桓振在安帝的临时住处拜见安帝,骑马持戈,径直走到台阶下,问桓昇在哪里。得知桓昇已死,他瞪着眼睛对安帝说:“我桓氏家族哪里辜负了国家,竟被如此屠杀!” 琅邪王司马德文走下坐床说:“这哪里是我们兄弟的意思啊!” 桓振想杀安帝,桓谦苦苦劝阻,桓振才下马,收敛神色,行礼后退出。壬辰日(初六),桓振为桓玄举办丧事,设立灵堂,追谥桓玄为武悼皇帝。
癸巳日(初七),桓谦等人率领大臣向安帝进献玉玺绶带,说:“陛下(指桓玄)当初效法尧禅让给舜,如今楚朝国运不长,百姓之心又回归晋朝了。” 桓谦任命琅邪王司马德文兼任徐州刺史,桓振为都督八州诸军事、荆州刺史,自己恢复侍中、卫将军之职,加授江、豫二州刺史,安帝身边的侍从,都是桓振的亲信。
桓振年轻时品行不端,桓玄不把他当作子侄看待。到这时,桓振感叹说:“桓公过去不早点任用我,才导致这样的失败。如果桓公还在,我担任前锋,平定天下不在话下。如今独自做这些事,能有什么归宿呢!” 于是放纵地沉迷酒色,肆意杀人。桓谦劝说桓振率军东下决战,自己留守江陵,桓振一向轻视桓谦,不听他的建议。
刘毅抵达巴陵,诛杀王稚徽。何无忌、刘道规分别在马头(今湖北荆州公安北)进攻桓谦,在龙泉(今湖北荆州江陵西)进攻桓蔚,都击败了对方。桓蔚,是桓秘的儿子。
何无忌想乘胜直接进军江陵,刘道规说:“兵法讲究能屈能伸,时机不同,不能冒进。桓氏家族世代居住在西楚(荆州),下属都为他们尽力;桓振勇猛冠绝三军,难以和他正面抗衡。我们暂且停战休整,养精蓄锐,再用计策牵制他,不愁不能攻克。” 何无忌不听。桓振在灵溪(今湖北荆州江陵西)迎战,冯该率军与他会合,何无忌等人大败,战死一千多人。何无忌等人退回寻阳,写信给刘裕请罪。刘裕因为刘毅负责统领各路军队,免去他的青州刺史职务。桓振任命桓蔚为雍州刺史,镇守襄阳。
柳约之、罗述、甄季之听说桓玄已死,从白帝城(今重庆奉节)进军,抵达枝江(今湖北宜昌枝江)时,听说何无忌等人在灵溪战败,就率军撤退。不久,罗述、甄季之都生病去世,柳约之到桓振那里假装投降,想谋划袭击桓振,事情泄露,桓振杀了他。柳约之的司马时延祖、涪陵太守文处茂收拢残部,据守涪陵(今重庆涪陵)。
六月,毛璩派将领进攻