论的人都称他有晋明帝神武之风。司马元显于是受命为征讨都督、假节，统率王珣、谢琰等对抗王恭，司马道子心腹兼王恭这次的讨伐目标司马尚之亦参战。起初司马尚之击败了庾楷，但荆州来赴的桓玄及后却大败司马尚之等人，并且进军石头城。司马元显于是从竹里撤还建康，并率王恺、桓放之、温详等守戍石头城抵抗桓玄等，又以王珣和谢琰分戍北郊及宣阳门守备。另一方面，司马元显知道王恭手下北府军将领刘牢之对王恭轻视他甚为忿恨，于是派了庐江太守高素去劝告他反叛王恭，并许诺事成后以刘牢之接任王恭之位。刘牢之最终都归降朝廷，并倒戈进攻王恭，令