马道子赐死王国宝并处死王绪。当时司马元显十六岁，担任侍中，因为厌恶王恭，所以劝司马道子准备讨伐他。司马道子于是以司马元显为征虏将军，并以司马道子以前纳入了骠骑将军府的原衞将军府和徐州刺史府属僚拨给司马元显。隆安二年（398年），王恭再度举兵，更联同了荆州刺史殷仲堪、广州刺史桓玄、豫州刺史庾楷。面对如此情形，司马元显力主司马道子讨伐，但司马道子没有对策，不知所为，只得终日喝酒，将讨伐之事都交託给司马元显。司马元显虽然年轻，但聪明且多所涉猎，果断敏锐，以社稷安危为已任，连与他一起开会讨论的人都称他有晋明帝神