晉滅桓玄之役,桓玄在消滅殷仲堪之後,勢力大增。元興元年(402),司馬元顯進攻桓玄,桓玄順長江而下,移檄京師,列舉司馬元顯父子“罪狀”。他說服北府兵重將劉牢之與其聯合,攻入京師建康,殺死司馬元顯父子。隨後,桓玄又翦除劉牢之等人,掌握朝廷大權。二年十二月,桓玄逼晉安帝退位,自己稱帝,國號楚。三年三月,北府兵將領劉裕、劉毅、何無忌等人從京口(今江蘇鎮江)、廣陵(今江蘇揚州)起兵,討伐桓玄。桓玄挾晉安帝退出建康,據守江陵。何無忌大破桓玄水軍。旋即,劉毅、何無忌又接連擊敗桓玄主力。桓玄兵敗西遁,屯騎校尉毛修之部將毛之、費恬截殺桓玄。歷時2年的桓玄之亂始平。