隆安三年(399),桓玄攻杀殷仲堪的时候,正值孙恩起兵反晋,无暇顾及荆州的司马道子只好认命桓玄为荆州刺史,都督荆,司,雍,秦,梁,益,宁七州军事,后将军。可桓玄仍不满意,上书要求更大的权利。
无奈的司马道子只好加桓玄都督江州及扬豫八郡。并以桓玄的哥哥桓伟任冠军将军,雍正刺史,桓玄的侄子桓振威淮南太守。可这些让步并不被桓玄放在眼中,他一方面招兵买马,准备作战。
一方面则派人截断长江航运,不让长江上游的粮食运往建康,致使建康米价飞涨,老百姓只能用野菜和谷皮充饥。元兴元年(402),实在忍不住缺粮的司马道子派儿子司马元显率领大军讨伐桓玄。