自從司馬炎死後,西晉王朝就缺乏一個能夠主導權力的領導核心,內鬥頻冗、政出多門。
藩王掌握了地方上的行政權、人事權、財政權、軍事權,讓他們有了覬覦國家政權的能力和野心。
不過由於晉武帝司馬炎分封的諸侯王過多,而又沒有出現一家獨大的現象,這就讓西晉王朝走上了分裂的必然,任何一位諸侯王都不足以掌控如此巨大的國家機器。
而且,這些諸侯王“內鬥內行,外鬥外行”,就連在混亂局勢下的“勤王”都懶得做。
311年(永嘉五年),劉淵的繼任者劉聰的部將石勒率軍殲晉軍十多萬人於苦縣寧平城,俘殺晉太尉王衍等人。
王衍出身琅琊王氏,少有盛名,身居宰輔之任,卻不以天下大事為念。王衍對東海王司馬越說:“中原現在已經大亂,應該依靠各地的負責大臣,因此應該選擇文武兼備的人才出任地方長官。”就讓弟弟王澄為荊州刺史,族弟王敦為青州刺史。並對王澄、王敦說:“荊州有長江、漢水的堅固,青州有背靠大海的險要。你們兩個鎮守外地,而我留在京師,就可以稱得上三窟了。”當時有見識的人都很鄙視他。
永嘉五年(311年),司馬越率軍討伐石勒,以王衍為軍司馬,參與軍事。不出意料,再往演的參與下,一敗再敗,大批王公被俘。
石勒讓西晉的王侯大臣前來與他相見,他看到王衍儼然神仙中人,大為傾倒。於是,以西晉的舊事詢問王衍,同他談了很長時間。
知識分子的下作果然不同。王衍舌燦蓮花,向他陳說了西晉敗亡的原因,並說責任不在自己身上。
王衍還說,自己年輕時就不喜歡參與政事,身居廟堂實在迫不得已。恬不知恥的王衍居然勸說石勒稱帝,妄圖以勸進之功保全姓名,以求苟活。
王衍的寡廉鮮恥大大超出了石勒的認知。
石勒大怒說:“你天下聞名,身居要職,年輕時即被朝廷重用,一直到頭生白發,怎麼能說不參與朝廷政事呢?破壞天下,正是你的罪過。”命士兵半夜推倒牆壁把他壓死。
劉聰又遣大將率兵攻洛陽,屢敗晉軍,前後殲滅三萬餘人。六月劉曜攻破洛陽,史稱“永嘉之禍”或“永嘉之亂”等。
313年,劉聰毒死了晉懷帝。懷帝侄司馬業(或作司馬鄴),在長安登基,是為晉湣帝。316年,劉曜攻長安,晉湣帝投降。
晉湣帝投降漢趙後,劉聰對他百般羞辱。建興五年(317年)十月,劉聰外出打獵,令晉湣帝身著戎服,手執戟矛,在前麵開路,百姓聚在路旁觀看,有些晉朝遺民故老,看了以後痛不欲生,深以為恥。後來,劉聰又趁宴會時讓晉湣帝行酒、洗酒杯,上廁所時讓晉湣帝拿馬桶蓋,旁邊的晉臣多失聲哭泣。
317年,晉湣帝被殺,士族王導、王敦等,扶植司馬懿的曾孫、宗室司馬睿在江東稱王。318年,司馬睿於建康登基,為晉元帝。
曆時五十一年的西晉滅亡,東晉開始。