八月,杨佺期、桓玄突然到达湓口。王愉没有防备,惊慌地逃到临川,桓玄派偏军追上抓住了他。
燕国任命河间公慕容熙为侍中、车骑大将军、中领军、司隶校尉,城阳公慕容元为卫将军。慕容元是慕容宝的儿子。又任命刘忠为左将军,张豪为后将军,都赐姓慕容氏。李旱为中常侍、辅国将军,卫双为前将军,张顺为镇西将军、昌黎尹,张真为右将军;都封为公爵。
乙亥日,燕国步兵校尉马勤等人谋反,被处死;事情牵连到骠骑将军高阳公慕容崇、慕容崇的弟弟东平公慕容澄,都被赐死。
宁朔将军邓启方、南阳太守闾丘羡率领两万士兵攻打南燕,与南燕中军将军慕容法、抚军将军和在管城交战,邓启方等人兵败,单人匹马逃脱。
魏王拓跋珪命令有关部门划定京城地区的疆界,标明道路里程,统一权衡标准,审定度量单位;派使者巡视各郡国,举报不守法的地方长官,亲自考察后进行罢免或提升。
九月辛卯日,朝廷加授会稽王司马道子黄钺,任命世子司马元显为征讨都督,派卫将军王珣、右将军谢琰率兵讨伐王恭,谯王司马尚之率兵讨伐庾楷。
乙未日,燕国任命东阳公慕容根为尚书令,张通为左仆射,卫伦为右仆射,慕容豪为幽州刺史,镇守肥如。
己亥日,谯王司马尚之在牛渚大败庾楷,庾楷单人匹马投奔桓玄。会稽王司马道子任命司马尚之为豫州刺史,他的弟弟司马恢之为骠骑司马、丹杨尹,司马允之为吴国内史,司马休之为襄城太守,各自拥有兵马作为自己的援助。乙巳日,桓玄在白石大败官军。桓玄与杨佺期进军到横江,司马尚之退走,司马恢之所率领的水军全军覆没。丙午日,司马道子驻扎在中堂,司马元显守卫石头城,己酉日,王珣守卫北郊,谢琰驻扎在宣阳门,防备叛军。
王恭一向凭借才能和门第轻视别人,杀了王国宝后,自认为威风无人能挡,倚仗刘牢之作为爪牙却只把他当作普通的部将对待,刘牢之自负有才能,心怀深深的羞耻和怨恨。司马元显知道后,派庐江太守高素劝说刘牢之,让他背叛王恭,许诺事成之后把王恭的职位名号授给他;又把司马道子的书信送给刘牢之,向他陈述祸福。刘牢之对他的儿子刘敬宣说:“王恭过去受先帝大恩,现在是皇帝的舅舅,却不能辅佐王室,多次起兵向京城进军,我不能判断王恭的志向,事情成功的那天,他一定能屈居天子和相王之下吗?我想凭借国家的声威,以顺讨逆,怎么样?”刘敬宣说:“朝廷虽然没有周成王、周康王那样的美好政绩,也没有周幽王、周厉王那样的恶行;而王恭依仗他的兵权,轻视蔑视王室。父亲您与他既不是骨肉亲人,也没有君臣之义,虽然一起共事过一段时间,但心意不相投合,现在讨伐他,在情义上有什么不妥呢!”
王恭的参军何澹之知道了他们的阴谋,把这事告诉了王恭。王恭因为何澹之一向和刘牢之有矛盾,不相信。于是设酒宴请刘牢之,在众人面前拜他为兄长,把精锐的士兵和坚固的铠甲都配给他,让他率领帐下督颜延作为前锋。刘牢之到了竹里,斩杀颜延投降朝廷;派刘敬宣和他的女婿东莞太守高雅之回去袭击王恭。王恭正在出城阅兵,刘敬宣指挥骑兵横向冲击,王恭的军队溃散。王恭将要进城,高雅之已经关闭了城门。王恭单人匹马逃到曲阿,他一向不熟悉骑马,大腿上磨出了疮。曲阿人殷确是王恭过去的部下,用船载着王恭,准备投奔桓玄,到了长塘湖,被人告发,抓获了王恭,送到京城,在倪塘斩首。王恭临刑前,还整理胡须鬓发,神色自若,对执行死刑的人说:“我错在轻信别人,所以到了这一步,推究我的本心,难道不是忠于国家吗!只希望百代之后有人知道有个王恭罢了。”他的子弟和党羽都被处死。朝廷任命刘牢之为都督兖、青、冀、幽、并、徐、扬州、晋陵诸军事,代替王恭。
没多久,杨佺期、桓玄率军抵达石头城,殷仲堪也到了芜湖。司马元显从竹里快马赶回京城,派丹杨尹王恺等人征发京城里的几万百姓占据石头城抵抗。杨佺期、桓玄等人上奏章为王恭辩白,要求诛杀刘牢之。刘牢之率领北府军快马赶到京城,驻扎在新亭。杨佺期、桓玄看到这情况,吓得变了脸色,把军队撤回蔡洲。朝廷不清楚西边叛军的虚实,而殷仲堪等人带着几万兵马,布满了京城郊外,朝廷内外都被逼迫得忧心忡忡。
左卫将军桓修是桓冲的儿子,他对司马道子说:“西边的军队可以通过劝说让他们解散,我知道其中的内情。殷仲堪、桓玄等人,之前全靠王恭,现在王恭已经败亡,西边的军队肯定沮丧恐慌。要是现在用重利引诱桓玄和杨佺期,这两人心里必定高兴;桓玄能牵制殷仲堪,还能让杨佺期倒戈,去对付殷仲堪。”司马道子采纳了他的建议,任命桓玄为江州刺史。征召郗恢回朝当尚书,让杨佺期代替郗恢担任都督梁、雍、秦三州诸军事、雍州刺史。任命桓修为荆州刺史,暂时带领左卫的文武官员去镇守,又命令刘牢之带一千人护送他。把殷仲堪贬为广州刺史,派殷仲堪