公元265年,晋武帝司马炎为加强中央对地方政权的控制,分封宗室27人为同姓王。每个王都有自己的军队;王国里的文武官员,都由诸侯王自己选用。晋武帝以为这样一来,有许多握有兵权的亲属子弟支持皇室,司马氏的统治就可以稳固了。哪里知道这一来,反而埋下了祸根。
晋武帝死了以后,晋惠帝即位。晋惠帝痴呆不懂事,他的妻子贾后却是一个阴险毒辣的人。魏晋·画像砖·男宾观看童舞她先是借楚王司马玮之手杀死了拥有辅政大权的外戚杨骏,让汝南王司马亮辅政。随后,贾后觉得司马亮也很碍事,就假传晋惠帝的密令,派楚王玮把汝南王亮抓起来杀了。
楚王玮本来是贾后的同党,但是贾后怕他连杀两王之后,权力太大。当天晚上,贾后宣布楚王玮假造皇帝诏书,擅自杀害汝南王,把楚王玮办了死罪。从此,朝廷上再也没有辅政的大臣,贾后一个人独霸朝野。
公元299年,贾后为了彻底清除自己长期专权的障碍,将太子司马遹废为了庶人,不久又将他毒死。这件事引起了朝中大臣们的强烈不满,背地里都议论纷纷。掌管禁军的赵王司马伦觉得这是个好机会,就趁机发动兵变。公元300年,赵王伦发兵进攻洛阳,捉住了贾后,把她杀掉了。第二年,赵王伦废了晋惠帝,自称皇帝。他一即位,就把他的同党,不论文官武将,或是侍从、兵士,都封了官职。
各地的诸侯王见赵王伦做了皇帝,都想登上这个宝座。齐王司马冏、成都王司马颖、河间王司马颙、长沙王司马乂(yì)起兵发起总攻,杀了赵王伦,诸王混战开始。随后,齐王司马冏、长沙王司马乂、东海王司马越相继掌握政权。公元306年,东海王司马越毒死了晋惠帝,立惠帝的弟弟司马炽为帝。至此,诸王之间的混战才结束。
由于参加这场混战的有赵王司马伦、齐王司马冏、成都王司马颖、河间王司马颙、长沙王司马乂、东海王司马越。加上已经被杀的汝南王亮、楚王玮,一共八个诸侯王,因此历史上就把这次事件称为“八王之乱”。