公元265年,司马炎(即晋武帝)称帝,随后大封同姓子弟为王。他改变汉魏以来虚封王侯的办法,给予诸王军政实权。诸王不仅在封国之内权力很大,有的还兼理一方军务,如汝南王司马亮都督豫州诸军事,楚王司马玮(wei)都督荆州诸军事······这样,诸王既有封土,又有军队,势力逐步扩充,野心也自然随之滋长。
公元290年,武帝死,惠帝继位,由皇太后的父亲杨骏辅政。惠帝是个白痴,当时天下荒乱,人民饿死的很多,而他却问:"那些人为什么不吃肉粥?"这个白痴做皇帝,大权旁落,野心勃勃的诸王于是就想趁机争夺政权。
战乱开始从官廷发动。惠帝的皇后贸南风与杨骏争权,公元291年,她使楚王司马玮带兵入朝,杀了杨骏,并请汝南王司马亮辅政。不久她又指使司马玮杀死司马亮,接着就用矫诏擅杀的罪名,杀死楚王玮,夺得全部政权。公元300年,赵王伦起兵杀死贸后,第二年废掉惠帝,自己称帝。大乱从此由宫廷内乱发展到诸王间的大混战。
这时齐王冏(jiong)镇许昌,成都王颖镇邺,河间王颙(yong)镇关中,这三镇都是军事要地,力量最强。这年三月(阴历),齐王冏联合成都王颖、河间王颙共同起兵反对赵王伦。经过六十多天的厮杀,战死者近十万人,最后赵王伦战败被杀,齐王冏入洛阳,惠帝复位,齐王冏专政。
公元 302年,河间王颙派兵二万进攻洛阳,并约长沙王乂(yi))进攻齐王冏。长沙王乂和齐王冏在洛阳城内连战三日,齐王冏战败,长沙王乂割下齐王冏的头徇示(巡行示众)三军,朝政又落在长沙王乂手里。
公元303年,成都王颖和河间王颙以长沙王乂"论功不平,专擅朝政"为口号,联兵反对长沙王乂。司马颙派部将张方率精兵七万出关东趋洛阳,司马颖派陆机等率二十万军队从北向洛阳进攻,惠帝和长沙王乂退出洛阳。张方进入京城,纵兵大掠,杀人万计。后张方退屯洛阳附近,惠帝还宫,但不能打退张方的包围。京城男子十三岁以上的都被拉去当兵,一石米值万钱,许多人因此饿死。东海王越在洛阳城中勾结部分禁军,把长沙王X擒住,交给张方,为张方烧死。成都王颖旋入洛阳,做了丞相,但不久仍回到他的老巢邺城,张方则在洛阳掠夺了官私奴婢万余人西还长安,军中没有粮食,就杀人和在牛马肉里一起吃。真是一群吃人的野兽!
公元304年,东海王越带领禁军奉惠帝讨伐成都王颖。在荡阴(今河南汤阴县西南)一役,被颖杀败。惠帝身中三箭,被俘入邺城,东海王越逃到自己封国(山东郯城县)。河间王颙令张方率兵占据洛阳。
幽州刺史王浚和成都王颖曾有仇隙,这时便联合并州都督司马腾反对司马颖,并勾结一部分鲜卑、乌桓人充当骑兵。司马颖也求匈奴左贤王刘渊助战,刘渊派骑兵五千助颖。司马颖被王浚打败,奉惠帝逃入洛阳,王浚军队进入邺城,大肆抢掠杀人,鲜卑兵还掠走许多妇女。由是诸王间的混战便扩展为各族统治者间的混战。
占据洛阳的张方看到洛阳已经劫掠一空,便强迫惠帝和成都王颖迁往长安。到长安后,成都王颖被废,司马颙独掌朝政。
公元305年,东海王越又在山东起兵,并联合王浚进攻关中,攻入长安,又大肆杀掠。司马越先奉惠帝还洛阳,公元306年,他先后杀死司马颖、司马颙和惠帝,立晋怀帝,大权最后完全落在他手里,战乱才告结束。
从公元291年贾后杀杨骏,到公元306年司马越立晋怀帝,战乱达十六年之久,参加战乱的除贾后外,共有八王,所以史称"八王之乱"。
八王之乱是统治阶级内部争夺权力的斗争,是地方分权与中央集权的斗争,这是魏晋以来地方割据势力发展强大的结果。"八王之乱"给人民带来了巨大灾难,数十万人民被残杀,洛阳、长安等名城遭到严重破坏,少数民族统治者乘虚而起,由此造成了中国北部的长期分裂和混战。