魏晋时期帝位的更替多是通过宫廷政变来实现的。晋武帝认为,这是因为没有给皇族子弟权力,使皇室孤立的结果,要防止这种事件的重演,就必须培植皇族在地方的势力,使其成为维护朝廷的可靠力量。因此,他在即位以后就分封了祖、叔、子、侄辈27个同姓王。这些王国都有自己的军队,王国里的文武官员由诸侯王自己选用。他还解除了州郡刺史、太守的兵权,重用外戚,拉拢异姓士族。他以为这样一来,皇室就有了强大的后盾,司马氏的统治就可以稳固了。但他没料到这一来,反而为新的权力争夺种下了祸根。
晋武帝时,外戚贾氏和杨氏都有重要的政治地位。武帝死后,惠帝继位。外戚杨骏用阴谋手段,独揽朝政,使得一些诸侯王非常不满。惠帝的妻子贾后不愿让杨骏操纵政治,就秘密派人跟汝南王亮和楚王玮联络,要他带兵进京,讨伐杨骏及其家族、党羽数千人。杀了杨骏后,朝廷里的大臣推举汝南王亮辅政。贾后嫌汝南王亮碍手碍脚的,就让惠帝下诏给楚王玮,命他率守卫京城北部的北军杀了汝南王亮。等楚王玮杀掉汝南王亮后,贾后又否认惠帝下过杀汝南王亮的诏书,宣布楚王玮的死罪。这一来,国家的大权就完全落入贾后手中。
贾后掌权七八年,仗着自己的地位和权势,干了许多坏事,把国家弄得乱七八糟。太子司马遹不是贾后生的,她害怕将来太子继位,自己的地位不保,就诬陷太子要杀惠帝和自己,先把他废为庶人,然后又派人毒死了太子。掌握禁军的赵王伦,利用贾后杀死太子引起不满情绪的机会,起兵杀死了贾后和她的亲信大臣,赵王伦掌握了政权,便把惠帝软禁起来,自己做起了皇帝。
各地的诸侯王听说赵王伦做了皇帝,都急红了眼,于是在他们之间展开了一场争夺政权的你死我活的斗争。参加这场混战的是赵王化、齐王冏、成都王颖、河间王禺页、长沙王义、东海王越,再加上已经被杀的汝南王亮、楚王玮,一共是8个诸侯王,历史上称为“八王之乱”。这几位王之间互相残杀,连年征战。公元306年,东海王司马越杀掉成都王颖和河间王禺页,最后掌握了朝政大权。接着他又毒死了惠帝,另立惠帝的弟弟司马炽为怀帝。
长达16年的八王之乱,给人民带来了深重的灾难,使黄河流域的广大农村变成了战场,农业生产遭到严重破坏,广大百姓大量死伤和流亡,激起了各族人民的起义。各少数民族贵族势力也乘机争夺政权,西晋的统治机能从此瘫痪。“八王之乱”10年之后,西晋灭亡。