晉惠帝即位以後,白癡無能,外戚楊駿用陰謀手段,排擠了汝南王司馬亮,取得單獨輔政的地位。晉武帝在位時為了鞏固統治,封了二十七個同姓王。這些諸侯王當然不甘心外戚執政,只是一時沒有機會動手反對他。晉惠帝的妻子賈後心狠手辣,她也不願讓楊駿*縱*,於是秘密派人跟汝南王司馬亮和楚王司馬瑋聯絡,要他們帶兵進京,討伐楊駿。
有了楚王瑋的支持,賈後待楚王瑋帶兵一進洛陽。就宣佈楊駿謀反,派兵圍了楊駿的家,把楊駿殺了。楊駿被殺之後,汝南王亮進洛陽輔政。可是賈後嫌留著汝南王亮也礙事,就假傳晉惠帝的密令,派楚王瑋把汝南王亮抓起來殺了。
但是賈後怕楚王瑋他連殺兩王之後,權力太大。當天晚上,又宣佈楚王瑋假造皇帝詔書,擅自殺害汝南王,把楚王瑋辦了死罪。
打那以後,朝廷上就是賈後專權。
賈後掌權七八年後,又千方百計除掉了不是自己親生的太子。
朝廷大臣對賈後的凶狠本來十分不滿,現在見她廢掉太子,背地裡十分氣憤,議論紛紛。掌握禁軍的趙王司馬倫覺得這是個好機會,想起兵反對賈後,就在外面散播空氣,說大臣正在秘密打算扶植太子復位。賈後聽到這個謠傳,派人毒死了太子。這樣一來,趙王倫抓住了把柄,派禁軍校尉、齊王司馬冏帶兵進宮逮捕賈後。
專門玩弄陰謀的賈後,這一下也中了別人的計。趙王倫把她抓起來殺了。
趙王倫掌握了*,過了一年,乾脆把晉惠帝軟禁起來,自己稱起皇帝來。
各地的諸侯王聽說趙王倫做了皇帝,誰都想奪這個寶座。這樣,在他們之間就展開了一場又一場的廝殺。參加這場混戰是趙王司馬倫、齊王司馬冏、成都王司馬穎、河間王司馬顒……長沙王司馬乂、東海王司馬越。汝南王亮、楚王瑋。
前後延續了十六年的八王之亂,到了公元306年才結束。由於參加這場混戰的一共有八個諸侯王,歷史上稱為「八王之亂」。