赵王司马伦依靠庶族势力掌握朝廷大权,为实现他个人称帝的野心,大行封赐,孙秀等皆封大郡,并据兵权,文武官员封侯者数千人。司马伦平庸无智谋,受制于孙秀,孙秀之威权振于朝廷,天下皆事孙秀而无求于司马伦。庶人当权,自然引起司马宗室和世族大家的强烈不满。孙秀集团与他们的矛盾越演越烈,淮南王司马允反叛被镇压,孙秀借机排斥齐王司马冏去许昌,杀掉名士潘岳,又杀掉豪富石崇,向世族豪强树威,并怂恿赵王称帝。
公元301年,司马伦即位称帝,以惠帝为太上皇,为收买人心,分封的文武多如牛毛,连奴卒也都封爵。以致每次朝会,满座尽是貂尾蝉饰的文武官员,谚语"貂不足,狗尾续"由此而来,司马伦急病乱投医,治国岂有他这个治法的?
士族豪强乘机利用司马宗室进行大反击,镇守许昌的齐王司马冏、镇守邺城的成都王司马颖在地方豪强势力的支持下传檄天下相应起兵,常山王司马乂、新野公司马歆率众响应。司马颖的兵马南下至朝歌,人马已发展到二十余万。镇守关中的河间王司马颙本意援赵王,但为二王声势震慑,转而起兵附和二王。三王之兵围攻洛阳,司马伦派兵抵抗,先赢后输,战争进行得很惨烈,十余万人死亡,其实司马伦有机会的,终因用人不当失利,随后退守洛阳。部众哗变,入宫杀死孙秀、俘虏司马伦,迎齐王入城。
齐王率甲兵三十万入洛阳,赐死司马伦独掌大权,成都王和河间王故作姿态,以退为进,回到封国。齐王司马冏又犯了胜利者常犯的骄傲错误,沈于酒色,骄恣日甚,听不进谋士们的建议。为达到长期专权的目的,立惠帝之弟清河王司马遐之子,年仅八岁的司马覃为太子,一下子剥夺了晋武帝所有儿子的继承权, 引起一同起事的成都王司马颖和长沙王司马乂的不满。
河间王司马颙驻洛阳的亲信李含因在京城受齐王的排挤,为使司马颙掌权,自己能够继续升迁,偷偷溜回长安,假称受惠帝密诏,令河间王诛灭齐王,并献一条借刀杀人之计,让河间王发檄文令长沙王讨伐齐王,齐王必定杀掉长沙王,两虎相斗,我们借机谋利。河间王大喜,马上联络在洛阳的长沙王,说自己已经率十万大军开拔,让他做内应,废齐王,让成都王辅政。
长沙王司马乂是晋武帝司马炎第六子,原本对齐王剥夺他皇位继承权不满,接到消息,立刻发兵攻打齐王,长沙王勇猛,与齐王连战三日,火烧齐王府,斩之,并诛其党羽二千余人,掌握朝廷大权。原以为齐王能干掉长沙王的河间王偷米不成拾把屎,反倒成就了长沙王,恼羞成怒,联络成都王司马颖共同发兵攻打长沙王。
成都王司马颖,字章度,晋武帝第十六子,镇守邺城,河间王许诺事成之后让他辅政,受河间王的诱惑,司马颖发兵二十万联合河间王大将张方进攻洛阳。不想二王接连被兵力弱小的长沙王战败,久攻不下,正在心灰意冷之时,洛阳城中出了叛徒,东海王司马越勾结部分禁军,拘禁了长沙王,开城投降,长沙王被张方活活烤死。
这一次,哪一个王爷也没到洛阳来,河间王毕竟不是晋武帝司马炎直系,威望不足,成都王则坐镇邺城遥控指挥,任用宦官控制朝局,洛阳的士庶百姓怎么肯干?以东海王为大都督,让白痴皇帝亲率大军发檄天下,征伐邺城。司马颖不甘示弱,派兵迎战,两家相遇在荡阴,结果东海王大败,皇帝也丢了,自己逃到封国。不过螳螂捕蝉,黄雀在后,司马颖也没得好果子,由于先前白痴皇帝发檄天下讨伐他,幽州刺史王浚领着一帮子鲜卑人、乌桓人和并州刺史司马越的弟弟司马腾联合攻破邺城,司马颖和白痴皇帝南逃。
洛阳城已被河间王的大将张方占据,张方的军队劫掠洛阳后,带着白痴皇帝和司马颖返回长安,河间王执政,在长安挟天子可不敢令诸侯。发布诏令,分封诸王,与天下诸侯和解。可东海王司马越不买他的账,公元305年,以"奉天子还旧都"为名,起兵讨伐河间王,一路势如破竹,五月,攻克长安,挟白痴皇帝返回洛阳。