成都王司马颖和河间王司马颙对司马乂的专权不满,他们又联合起来对付司马乂。司马乂始终紧紧控制晋惠帝,边打边退。大将张方攻进洛阳城,大肆抢掠,死者成千上万。司马乂见张方的残暴引起了人们的不满,就杀了个回马枪。张方的部下见皇帝的车驾来了,纷纷逃散,司马乂胜利返回洛阳,赶走了张方。司马乂一直挟持着皇帝,而且对皇帝毕恭毕敬,所以他很得民心,但是和司马乂共事的东海王司马越害怕张方,于是暗中发动政变将司马乂抓了起来,并送到张方那里,司马乂最后被张方用火活活烤死。
司马颙和司马颖请求废除司马伦立的太子,司马颙因为自己是长辈,没有继位的希望,干脆做个顺水人情,上表请求把司马颖立为皇太弟。司马颖当上皇太弟后,专横跋扈,而且信任佞臣,腐化堕落,很快就丧失了民心。一直隐藏实力的东海王司马越趁机起兵声讨,把晋惠帝抢到手中,然后挟持他前往司马颖的根据地邺城。
司马颖听说皇帝在敌人军中,于是下令:“除了皇帝之外,别的人见一个杀一个!”部下们一直杀到晋惠帝跟前,一阵乱箭射去,晋惠帝身边的人纷纷倒地,连晋惠帝脸上也中了三箭。当时嵇康的儿子嵇绍担任侍中,一直跟随惠帝左右,他死死守在惠帝身边,用身体给惠帝挡箭,最后被乱箭射死,血溅了晋惠帝一身。