桓玄在逃回江陵后就弃城西走入蜀地,而江陵就在荆州别驾王康产等人控制下,守护安帝并等待义军。不久,桓玄在益州被督护冯迁杀害,刘毅等则在江陵迎晋安帝复位。而桓玄死后,义军中人都认为大事已成,全皆松懈起来,且又因大风,桓玄死后差不多十日,各军都未及到达江陵,于是被桓玄堂侄桓振趁机袭取江陵,并劫夺了晋安帝。何无忌等进攻但败于桓振,刘毅唯有率诸军退屯寻阳。刘毅因失江陵而被免官,但不久就再受命督何无忌等进攻桓振等,并进至夏口。当时桓谦部将冯该驻军东岸,分据鲁山城和偃月垒,总计有万余人,战舰连接两岸,水上陆地相互支援。
刘毅于是与何无忌、刘道规领兵分别进攻二城,未到夏口,遇大风吹来,千余人被飘走淹死在大江里。刘毅与刘怀肃、索邈等又率部攻打鲁城,刘道规率兵攻打偃月垒,何无忌与檀祗将舰摆列在大江中间严阵以待,以防止叛军船只逃跑。刘毅身穿甲胄,攻占了鲁城,只过半日而偃月垒亦被义军攻破,生擒了桓山客,冯该逃走。十二月,刘毅占领巴陵,刘裕就以刘毅为使持节、兖州刺史,将军职号不变。刘毅号令严整,所经城邑,秋毫无犯,百姓安定喜乐。
义熙元年(405年)正月,刘毅进攻江陵,因桓振当时正领兵抵御起兵的南阳太守鲁宗之,刘毅于离江陵二十里的豫章口击败冯该就直攻江陵,留守江陵的桓谦弃城逃走,刘毅于是成功入城,收杀卞范之等桓玄余党。及至三月,桓振反攻江陵,荆州刺史司马休之败走,刘怀肃前赴与桓振相持,刘毅派了广武将军唐兴助战,杀死了桓振,并斩伪辅国将军桓珍。
及后刘毅又攻下迁陵,在临嶂将桓玄伪朝的太守刘叔祖斩首。其余聚众称王假号的十几伙叛贼,也全部被剿灭。江、荆二州平定后,朝廷任命刘毅为抚军将军。其时刁预等人作乱,盘踞出没湘中一带,刘毅派军将分路讨伐,将其全部剿灭。
当初,刘毅在家遵制守孝服丧,等到刘裕初举义旗,便身穿黑色丧服从事征战。
至此,战事稀少,天下逐渐安定,于是刘毅上表朝廷请求返回京口,以终结丧礼,上奏说:“以大道治国者,其义理的核心在于仁孝。诉说对归天者的悲哀,莫过于对自己的亲人了。愚臣也是平庸之人,本无什么大志,不能超凡脱俗,因此情感和常人一样。往昔年月国难深重,为此愚臣尽忠报国,惭愧苟活于世。去年春天虽然圣上回京复位,而狂妄狡诈之敌未灭,虽奸凶首恶已除,残贼逃匿,但圣上的威望和恩德还未能传布四方,文武将士依旧辛劳疲敝,愚臣微薄的心愿未得伸展,使愚臣不免顾影悲愤。如今皇威远扬,海内清平,愚臣深切的悲哀和艰难的困境,圣上都已知晓。又兼风湿之疾更加严重,且并发多种疾病,如今已衰败到无法履行人臣之责。愚臣的本心,本不甘于苟活偷生,倾吐了心事,也就可以去死了。请求圣上允许愚臣辞职还乡,终老于亲人坟前,希望能符合忠孝两全之道以得到天下的谅解和宽恕。”
朝廷未许。