晉武帝認為魏朝的滅亡,是因為沒有給皇族子弟權力,使皇室孤立了。所以,他在即位以後,封了二十七個同姓王。每個王國都有自己的軍隊;王國裡的文武官員,都由諸侯王自己選用。他以為這樣一來,有許多親屬子弟支持皇室,司馬氏的統治就可以穩固了。哪裡知道這一來,反而種下了禍根。
晉惠帝即位以後,外戚楊駿用陰謀手段,排擠了汝南王司馬亮,取得單獨輔政的地位。一些諸侯王當然不甘心,只是一時沒有機會動手反對他。
晉惠帝不懂事,但是他的妻子賈後卻是一個心狠手辣的人。她不願讓楊駿操縱政權,秘密派人跟汝南王司馬亮和楚王司馬瑋聯絡,要他們帶兵進京,討伐楊駿。
楚王瑋從荊州帶兵進了洛陽。賈後有了楚王瑋的支持,就宣佈楊駿謀反,派兵圍了楊駿的家,把楊駿殺了。
楊駿被殺之後,汝南王亮進洛陽輔政。他想獨攬大權,可是兵權在楚王瑋手裡。兩個人之間就鬧起矛盾來。賈後嫌留著汝南王亮也礙事,就假傳晉惠帝的密令,派楚王瑋把汝南王亮抓起來殺了。
楚王瑋本來是賈後的同黨,但是賈後怕他連殺兩王之後,權力太大。當天晚上,又宣佈楚王瑋假造皇帝詔書,擅自殺害汝南王,把楚王瑋辦了死罪。楚王瑋知道上了賈後的當,大叫冤枉,已經沒有用了。
打那以後,朝廷上沒有輔政的大臣,名義上是晉惠帝做皇帝,實際上是賈後專權。
賈後掌權七八年,驕橫跋扈,胡作非為,名聲壞透了。太子司馬遹(音yu),不是賈後生的。賈後怕他長大起來,自己的地位保不住,就千方百計想除掉太子。
有一回,賈後事先叫人起草一封用太子口氣寫的信,內容是逼晉惠帝退位。賈後把太子請來喝酒,把他灌得爛醉,趁太子昏昏沉沉的時候,騙他把那封信抄了一遍。
第二天,賈後叫晉惠帝召集大臣,把太子寫的信交給大家傳看,宣佈太子謀反。大臣們懷疑這封信不是太子寫的。賈後要大家核對筆跡。大家一看果然是太子的親筆,不敢再說。
賈後就把太子廢了。
朝廷大臣對賈後的凶狠本來十分不滿,現在見她廢掉太子,背地裡十分氣憤,議論紛紛。掌握禁軍的趙王司馬倫覺得這是個好機會,想起兵反對賈後,但他又怕讓太子掌了權,也不好對付,就在外面散播空氣,說大臣正在秘密打算扶植太子復位。賈後聽到這個謠傳,真的害怕起來,派人毒死了太子。這樣一來,趙王倫抓住了把柄,派禁軍校尉、齊王司馬冏(音jiǒng)帶兵進宮逮捕賈後。
專門玩弄陰謀的賈後,這一下也中了別人的計。她一見齊王冏帶兵進宮,大吃一驚,說:「你們想幹什麼?」
齊王冏說:「奉皇上的詔書,特來逮捕你。」
賈後說:「皇上的詔書都是我發的,哪裡還有什麼別的詔書!」
賈後大叫大鬧,指望惠帝來救她。趙王倫把她抓起來殺了。
趙王倫掌握了政權,野心更大。他當了相國還不滿足。過了一年,乾脆把晉惠帝軟禁起來,自己稱起皇帝來。他一即位,就把他的同黨,不論文官武將,或是侍從、兵士,都封了大大小小的官職。那時候,當官的戴的官帽上面都用貂(音diāo)的尾巴做裝飾。趙王倫封的官實在太多太濫了,官庫裡收藏的貂尾不夠用,只好找些狗尾巴來湊數。所以,民間就編了歌謠來諷刺他們,叫做「貂不足,狗尾續」。
各地的諸侯王聽說趙王倫做了皇帝,誰都想奪這個寶座。這樣,在他們之間就展開了一場又一場的廝殺。參加這場混戰是趙王司馬倫、齊王司馬冏、成都王司馬穎、河間王司馬顒(音yong)、長沙王司馬乂(音yi)、東海王司馬越。加上已經被殺的汝南王亮、楚王瑋,一共有八個諸侯王,歷史上稱為「八王之亂」。
八王之亂前後延續了十六年,到了公元306年,八王中的七個都死了,留下的最後一個東海王越,毒死了晉惠帝,另立了惠帝的弟弟司馬熾(音chi),這就是晉懷帝。