晋永兴元年(公元304年),皇太弟司马颖更加不守臣子之责,大肆挥霍铺张,并亲信小人,让小人掌握权力,大家对他非常失望。司空、东海王司马越与卫右将军陈畛(zhěn)以及长沙王司马乂过去的部将上官巳等人一起谋划,准备讨伐司马颖。
七月初一,陈畛率领士兵攻入云龙门,用皇帝的诏书召集三公、群臣与殿中将领,宣布戒严,讨伐司马颖。
七月初四,司马衷命司马越北伐,并任命司马越为大都督,征调前侍中嵇绍到身边随行。
侍中秦准对嵇绍说:“现在随行,安危难测,你有好马吗?”
嵇绍严肃地说:“臣子护卫皇帝的御车,死也伴随左右,要好马干什么?”
司马越发出檄文,召集各地的军队。奉诏赶来的军队很多,行军到安阳,已经有十多万人了,邺城中的人都很惶恐。
司马颖召集幕僚询问计策,东安王司马繇说:“天子亲自征伐,应当放下武器、身穿素缟出去迎接,并向天子请罪。”司马颖没有听从他的意见,派石超率领五万人前去迎战。
折冲将军乔智明劝司马颖迎接司马衷御驾,司马颖生气地说:“你空有明白事理的名声,投奔到我身边做事。现在皇上被小人逼迫,你为什么想让我捆住自己的手脚去接受刑罚呢?”
陈畛的两个弟弟陈匡、陈规,从邺城赶到司马衷身边,说那城里已经人心涣散,因此大家都没怎么防备。
七月二十四日,石超的军队忽然到达,在汤阴大败司马衷的军队。司马衷脸颊上受伤,中了三箭,大小官员和侍卫全都逃散了。
嵇绍穿着上朝的官服,下马登上御车,用身体护卫司马衷。士兵把嵇绍拉到车辕上就要砍头,司马衷说:“这是忠臣,不要杀!”兵士回答说:“奉皇太弟之令,唯独不冒犯陛下一人而已。”于是杀了嵇绍,鲜血溅到司马衷的衣服上。
司马衷从车上掉到草丛里,丢失了六枚御玺。石超侍奉司马衷到自己兵营中。司马衷很饿,石超端上水,左右随从奉上秋桃。司马颖派卢志迎接司马衷。
七月二十五日,石超护送惠帝司马衷进入邺城,宣布大赦天下,把年号改为建武。侍奉司马衷的随从想为司马衷洗衣服,司马衷拒绝说:“上面有忠臣嵇侍中的血,不要洗了。”