西晋建立后,晋武帝认为魏朝的灭亡,是因为没有给皇族子弟权力,使皇室孤立了,便封宗室子弟为王,又让他们充当都督,出镇战略要地,以此保卫司马氏皇权;没料这种分封反给他们争逐皇位提供了条件。权势争夺激化了各种社会矛盾。使西晋政权崩溃的“八王之乱”,正是不同派系的司马氏宗王之间的厮杀。
“八王”中,汝南王司马亮、赵王司马伦是司马懿的儿子,河间王司马颙(音yónɡ)、东海王司马越也是司马懿一系的人物;齐王司马冏(音jiǒɡ)是司马昭的孙子,因他的父亲司马攸曾过继给司马师,名义上又是司马师的后代;楚王司马玮、长沙王司马乂、成都王司马颖则都是晋武帝司马炎的儿子。除这“八王”外,司马宗室的其他“王”,如竟陵王司马懋、常山王司马衡、新蔡王司马腾等人也出兵参与了“八王”的角逐。
武帝死后,贾皇后专断朝政达9年之久。贾后没有儿子,眼看太子司马冏渐渐长大,常有一种危机感。她暗中令宦官讨好太子说:“殿下应该乘年轻尽情享受,不要约束自己。”每逢太子发怒,就说:“殿下不懂得使用严刑,天下人怎么会怕你呢?”在贾后的引导下,太子不爱学习,有人触犯他,就举鞭抽打。司马冏终于依照贾后设计的圈套步步下滑,名声越来越坏。贾后乘机四处宣扬司马冏的短处,为废除太子大造舆论。
公元300年12月,贾后谎称皇上身体欠佳,唤司马冏入朝。在朝中硬逼他喝下三升酒。当司马冏醉得天旋地转、不省人事时,贾后令人拿来纸笔和一封事先草拟好的上奏皇帝的信,让司马冏照抄一遍。信中写道:“陛下应当自行了结,若不了结,我就入宫去了结你。皇后也应尽快了结,若不了结,我就亲手结果你……”惠帝看后大怒,下诏赐太子死。张华认为此举事关重大,要求对照太子手书,否则怕有诬陷。贾后拿出十几张太子写的启事核对,众人无话可言。贾后怕另生事变,上表免太子为庶人,囚禁于金墉城。
太子司马冏无罪被废,引起一部分拥护太子的朝臣不满。他们与握有军权的赵王司马伦密谋废除贾后,复位太子。贾后得知此消息,急不可耐地让太医令人制作巴豆杏子丸,假传圣旨,让宦官孙虑带到许昌毒杀太子。司马冏自从被废黜以后,为防止被毒害,总是让侍从当着他的面为他煮饭。孙虑到许昌,将司马冏迁居小坊囚禁,不准给他送饭,打算待他饥饿难忍、不加提防时再下手。没想到一些宫人偷偷地翻墙为太子送饭。孙虑就干脆公开拿出毒药逼太子吞服,太子不干,孙虑就操起捣药锤,活活地把他砸死了。
赵王司马伦见太子已死,立即联合齐王司马冏,借口为太子报仇,乘夜晚带兵闯入宫中,讨伐贾后。司马伦废贾后为庶人,将其幽禁于建始殿。不久,司马伦以其人之道,还治其人之身,“矫诏”赐贾后死于金墉城。事态的发展一切都按照司马伦的计划在进行。太子、皇后相继丧命,朝廷上只剩下一个毫无震慑力的痴愚皇帝。司马伦便依照其父司马懿辅佐曹魏政权的方式,矫诏自封为相国、都督中外诸军事。其亲党孙秀等人皆封赏大郡,并掌兵权。文武百官一律听从司马伦调遣,为下一步攫取皇帝宝座创造了条件。
中护军淮南王司马允看出司马伦想篡位,打算讨伐他。司马伦抢先采取措施,封司马允为太尉,表面上是加官进封,实际上是夺其兵权。司马允深明其中意味,借口有病不受加封;并看出皇帝诏书是孙秀手书伪造,盛怒之下,率700精兵攻打相府,司马允被司马伦用计杀死在城下,几千人受株连。
司马允死后,洛阳渐渐平静下来。司马伦加快篡权步伐,派牙门赵奉诈传宣帝司马懿神话,说:“司以伦应早入皇宫。”又扬言司马懿在北芒(洛阳北)帮助司马伦登位。司马伦命义阳王司马威为侍中,夺取惠帝玺绶,伪造禅让诏书,又让尚书令满奋持符节奉玺绶禅位于司马伦。
公元301年正月,司马伦龙袍加身,做起皇帝来。他名义上尊惠帝为太上皇,实际上将其幽禁在金墉城。另立其子、弟为“王”,其他同党也都登上卿、将职位。司马伦称帝,激起各诸侯王的强烈反对。齐王司马冏传檄各地,联合成都王司马颖、河间王司马颙等共同起兵,讨伐司马伦。由于诸王的投入,“八王之乱”开始发展为一场大混战。
司马伦一面命将军孙辅、孙会迎战,一面命人穿着羽衣在嵩山诈称仙人下凡,陈述司马伦统治将维持久远,以迷惑大众。
司马颖军前锋至黄桥(今河南淇县),与孙会军交战失利,死伤1万余人;又在溴水(今河南济源、孟县境黄河支流漭河)大战一场,孙会终于大败南逃。司马颖乘胜长驱渡过黄河,协助助司马冏战败张泓。双方在洛阳附近酣战60多天,死亡近10万人。最后司马伦兵败被杀,惠帝复位。宣诏齐王司马冏为大司马辅政。
司马冏掌握大权以后,沉溺于酒色。公元302年,河间王司马颙上表列举司马冏罪状,扬言率兵10万,将与成都王司马颖、新野王司马歆、范阳王司马虓共会洛阳城,并联合长沙王司马乂一起行动。八王之中,司马乂是最有才略的一个,也有政治野心。他利用时机抢先攻入洛阳。当晚,洛阳城中飞箭如雨,火光冲天,群臣死者相枕于路,一片混乱,激战三日,司马乂大败。司马冏杀了司马冏,暴尸3日,控制了朝政大权。
司马颙原以为司马乂力量微弱,会被司马冏擒斩,他好以此为借口讨灭司马冏,没想到事与愿违,便于公元303年,联合司马颖共同攻打司马乂。这一仗从8月打到10月。司空东海王司马越利用禁军抓获司马乂,密告司马颙的部将张方,用火将司马乂活活烤死。
到此,八王已死五王。而争夺统治权的斗争还在司马颖、司马颙、司马越三王之间猛烈展开。
司马乂死后,成都王司马颖被封为皇太弟,任丞相、都督中外诸军事,住在邺城(今河北临漳西南)遥控朝政;司马颙为太宰,居长安;东海王司马越认为自己杀司马乂有功,却没捞到好处,便挟持惠帝讨伐司马颖。
邺城人听说司马越率10万人已到安阳,惊慌失措。司马颖派石超率1万兵众迎战。在荡阴(今河南汤阴)大败司马越。双方交战时,惠帝身边侍从全都逃散,致使惠帝身中3箭,面颊受伤被俘。司马越逃回东海封国。不久,幽州刺史王濬带领乌桓、鲜卑兵与并州刺史司马腾联军10余万进攻邺城。司马颖又挟惠帝乘坐牛车南逃洛阳,被张方俘获至长安。司马颙更立司马炽为皇太弟,与司马越共同辅政。
公元305年,东海王司马越以“奉迎天子还复旧都”为借口,再度起兵,次年攻入长安。司马颙单马败逃太白山。司马颖在去邺城途中被顿丘太守冯嵩抓获,范阳王长史刘舆矫诏赐司马颖死。司马越又以司徒官职召司马颙入洛阳,于途中杀之。随后又毒死惠帝,拥武帝第25子(晋武帝共26个儿子)司马炽为帝,这就是晋怀帝。“八王之乱”自此结束。
“八王之乱”从贾后专政开始至怀帝即位为止,历时16年。他们为争夺统治权同室操戈、相煎太急,把战火从洛阳、长安烧遍黄河南北,夺走数十万人的生命。造成的祸难之大,旷古未闻,给建立不久的西晋王朝以毁灭性的打击,不仅从内部挫伤了它的元气,并因无暇顾及边防,而使北方少数民族的贵族能够乘机起兵,增强势力,对此后历史产生了巨大的消极作用。