司马炎继位后,为了导致出现“主弱臣商”的局面,将自己的兄弟叔伯全部都封了王。其中有二十七个王,他们都有封国和军队,按照大小可分为大国、小国。大国兵5000、小国兵1500。诸王徒享封土、不治吏民,司马炎的构想很好,已藩王制领土,诸王兵力不足,中央有绝对的控制权。可司马炎不信任外姓人,当时的军事地区的最高长官是诸王,远超制定的兵力。司马炎又想削弱世家的势力,只能提高宗室,他不会知道自己的举动让中国北方陷入了300多年的战乱。

其实就算诸王实力强大,他们也不敢进攻中央朝廷。毕竟中央朝廷兵力和人才远不是他们一州之地可以抗衡的,坏就坏在司马炎执意传位给一个傻子。司马炎死后,将司马衷和钦定的皇帝司马遹交给了外戚杨骏,可杨骏属实是人菜瘾大,贾南风假传圣旨派楚王司马玮入京诛杀杨骏。杨骏掌握着王城的禁军,却放弃了武库,直接投降了。结果杨骏被杀,此时贾南风是没有实力掌握朝廷的,将先帝钦定的辅政大臣司马亮和老臣卫瓘入京掌权,而司马玮却仅仅成为了卫将军、领北军中侯,掌握禁军。贾南风抓住司马玮不满的心理,密诏司马玮诛杀司马亮和卫瓘,司马玮将司马亮和卫瓘,他的大臣建议直接诛杀贾后,控制司马衷一举掌握朝廷。

可司马玮却犹豫不决,事后被贾后以假传圣旨为由诛杀司马玮。此时贾南风已完全掌握了朝廷,而随后十年也是社会稳定的十年,可随着贾后的年纪增长,对司马炎钦定的太子司马遹越来越不满,他害怕司马衷去世后,司马遹对自己不善。当时贾南风的外甥贾谧为太子老师,两人因下棋之事不小心打起来了,当时成都王司马颖劝说,并呵斥了贾谧,最后被贾南风赶出了京城。贾南风的母亲郭槐劝说要跟太子搞好关系,改打算将贾谧的妹妹嫁给太子,贾南风拒绝了。

为了能废掉太子,贾南风假装怀孕,将妹妹刚出生的儿子接入宫中,对外说这是自己生的儿子。司马遹明白贾南风要废掉太子,可自己手中没有兵权,只能派人去试探张华,希望可以得到支持,却被贾南风发现。贾南风假借司马衷的旨意命令司马遹入宫,其间灌醉了太子,让太子写下了篡位的文章,第二天,朝会的时候,将太子谋反的事让大臣看。大臣虽不信,可迫于贾南风的权势,太子被废。

太子被废后,不可能坐以待毙。可朝中的人都贪生怕死,他找到了掌握禁军右军的赵王司马伦。本来司马伦是不在朝中,可他在公元291年,被立为雍、梁都督,平定当地羌、氐叛乱,可自己又没有什么能力,被羌、氐击败。朝廷又另外派人去了,他就被召回京城。司马伦回到京城后,也想参与一下朝廷的事,可贾南风知道他不是那块料,就拒绝了,引起司马伦的不满。当时太子党的人找到孙秀,劝说司马伦出力废掉贾后,可孙秀却向司马伦建议,让司马伦去告诉贾后,太子谋反。我们可以打着为太子报仇的名头,杀掉贾后,自己掌握朝政。

在司马伦的告发下,贾南风毒杀了太子。司马伦用假诏书威胁三部司马起事,其实司马伦已经集合了梁王司马肜、齐王司马冏,他们在当时都掌握禁军,他们进入宫中,诛杀贾南风。又迅速将张华、赵粲、裴頠、贾谧、贾午等后党。将跟随自己的都加官进爵,贾南风的死解开了压在司马诸王的枷锁,此后,只要你手中有兵权,就有可能得到最好权力。司马伦任命司马允为侍中、骠骑将军,当时司马衷没有儿子,按照顺序,司马允认为自己会被立为皇太弟。他开始养死士,不过被孙秀等人发现,告诉了司马伦,司马伦诏书让司马允回到淮南,司马允于是反了,司马允手下的七百多人,都是身经百战,司马伦一时不敌。在司马伦之子司马虔以重赏之下必有勇夫,招募一群勇士,趁着司马允放松警惕,将他袭杀。

经历就司马允之事后,司马伦还是觉得自己当皇帝比较好,将自己的儿子和心腹去掌握皇城禁军,加九锡。同时大搞封建迷信,说自己的父亲司马懿让自己当皇帝拯救晋朝。随后废黜皇帝司马衷,自己立为皇帝。司马伦登基后,对所有官员都进行封赏,尤其四个儿子,除了世子立为太子,其他儿子都封为王。而由于司马伦分封的人数过多,造成了爵位不值钱,引起很多朝臣的不满。对于一同政变的齐王司马囧,司马伦来了一波平调,后来为了调离司马冏,让他出镇许昌。来到许昌后,司马冏积极联络诸王,得到了成都王司马颖、长沙王司马乂等人的支持,其实司马伦犯了一个严重的错误,当时的各州的都督们基本上都是诸王,而司马伦在没有把这些地方换成自己人就篡位,有点操之过急了。

很快司马冏就带领诸王联军来到洛阳城下,战争开始之初,司马冏和司马颖带领的两路人马被司马伦打的大败,也从侧面体现了这些“二代们”都没有什么军事能力。可是联军越战越勇,兵力远超司马伦。随着时间的推移,司马伦坚持不住了,等到孙秀等人被杀后,司马伦将所有责任都推倒孙秀等政客身上,下令退位,将司马衷从金墉城里接出来,重新立为皇帝。可司马伦最终也被杀,诸王进入洛阳后,以司马冏和司马颖的功劳最大,当时司马颖的谋士劝说司马颖,齐王用精锐部队攻打司马伦的小股部队都打不过,说明齐王就是个草包,你不如回到冀州暂避锋芒。

司马颖于是想司马冏辞行,同时司马颖上书希望封赏司马伦之乱的功臣,将死难将士的亲属妥善安置,也算是提高了一波好感度。而这个时候的司马冏在控制洛阳后,将他爹的齐王府进行了扩建,生活的骄奢淫逸,这个时候司马衷唯一的儿子死了,为了更好的控制朝政,司马冏没有拥立更具有继承权,司马衷的弟弟们。而是选择了司马炎的侄孙司马覃为太子,这就引起司马衷的那些弟弟们不满。当时京城一个禁军首领李含对司马冏不满,去到长安找河间王司马颙,司马冏对在讨伐司马伦时,对飘忽不定的司马颙不满。于是司马颙就决定召集诸王讨伐司马冏,让在皇城的司马乂作为内应,其实就是把司马乂放弃了,如果司马冏敢杀司马乂,诸王就打着为他报仇进入洛阳。司马乂如果成功击败司马冏,进入洛阳也没头什么成本。

可谁都不会想到,司马乂早就想消灭司马冏,自己取而代之,他先拉拢了当时的左卫将军刘暾,后面挟持了司马衷,挟天子以令诸侯。当时司马冏在禁军中拥有七成的兵力,却凭“实力”输给了司马乂,于是司马冏手下的士兵就制服司马冏向司马乂投诚了。司马乂取代了司马冏在洛阳的地位,诸王一见没什么由头,就带领军队打道回府了。司马乂得到最好权力后,反而向司马颖示好。可当时唯一受伤的就是河间王司马颙,他本来想好杀司马冏后,立司马颖为帝,自己辅政。却出来了司马乂,司马颙主动联络司马颖攻打司马乂,司马颖也想要进入洛阳,两人合兵攻打洛阳,其间司马乂多次击退攻击,却因为士兵疲惫,想要向司马颖求和。

可洛阳城毕竟兵力有限,由于司马乂独特的人格魅力,将士们都愿意效死。司马乂决定让雍、梁都督刘沈攻击司马颙后侧,自己迎击司马颖的残兵,看着还是很有希望的。这个时候,身为禁军统领的司马越发力了,司马越是司马懿四弟司马馗的后代,他在早期投靠杨骏,期间帮助贾南风攻打杨骏,成为东海王。当时战争打到后期,司马乂军中缺粮,司马越害怕司马乂失败,就联合一部分心腹抓住司马乂,打开洛阳城门,司马乂因此被杀。司马颖进入洛阳后,司马乂的军队迅速倒戈,而司马颖就在洛阳留下七、八万人就回到了邺城。

作为最后胜利的三人,司马颖成为了皇太弟,不过离开了洛阳;司马颙得到了整个关中地区;司马越留在洛阳成为了皇帝的传话人。而司马颖犯了一个错误,失去了皇帝这个最大的筹码,后面,司马越以恢复司马覃的地位,迅速收编司马颖留在洛阳的军队,并扩充兵力到十多万人攻打司马颖,谁知道司马颖竟然依靠最后的七、八万家底打败了司马越,皇帝司马衷也落到司马颖手中,司马颙趁火打劫进入洛阳。司马越在兵败时先逃到下邳,当时的徐州都督、东平王司马楙不接纳他,司马越就逃回其封地东海国。司马颖以同为宗室子弟为由,决定宽恕他,可司马越不信,司马颖进入洛阳废掉司马覃。

这个时候司马颖吸取了一个教训,将皇帝司马衷挟持到大本营邺城。他对幽州军区的都督王浚颇为忌惮,他任命和演为幽州刺史,想要夺得幽州的兵权。这引起王浚的不满,他联合北方的鲜卑、乌桓支持东海王司马越进攻司马颖,司马颖派新任幽州刺史王斌及石超带领冀州军抵抗。司马颖所部大败,引起士兵的不满,毕竟打了多年,还屡战屡败。其实司马颖最后还有一万五千人的筹码,他本可以逃到洛阳,东山再起。可他的母亲死活不走,就错过了时间。王浚兵攻入邺城,司马颖只带了数十人逃到洛阳。

当时,河间王司马颙派张方去救司马颖,张方将洛阳抢劫一番,带着司马衷和司马颖去到长安。司马颙废黜司马颖的皇太弟身份,立豫章王司马炽为皇太弟。司马颙成为了朝廷的实际控制者,司马颙下令让司马越来到长安当太傅。因为司马越的兄弟众多,同时他们都割据一方,司马颙不敢轻易得罪司马越。司马越随后整合中原势力,在王浚和司马越兄弟的支持下,士家大族纷纷效忠司马越。司马越率大军攻打长安,司马颙杀掉司马越的借口张方,司马越的目标是彻底胜利,他拒绝了司马颙的求和,继续西进。司马颙杀了张方,不仅没能退兵,反而自断臂膀,军心涣散。公元306年,司马越的军队顺利攻入关中,司马颙被杀。

八王之乱结束,看似司马越是最后的赢家。可中原的兵力消耗殆尽,而在魏国后期大量少数民族进入中原,来到八王之乱后,以匈奴人刘渊的兵力最盛。不过三年,西晋王朝灭亡,此后中原的政权就是少数民族政权。正所谓“非我族类,其心必异”,中原的汉人陷入了水深火热的局面。