刘渊说:“要灭掉晋朝,还不是像摧枯拉朽一样容易,但是晋朝的百姓未必会向着我们。我看汉朝立国的年代最长,在百姓中影响大。我们的上代又是汉朝皇室的兄弟。现在汉朝亡了,我们用继承汉朝的名义,也许可以得民心。”帝皇天
大家听了,觉得是一个好主意。刘渊就宣布自己是汉王。
刘渊称汉王后,很快攻下了上党、太原、河东、平原等几个郡,势力越来越大。一些势力比较小的各族反晋力量也都来归附刘渊。
公元308年,刘渊称汉帝。第二年迁都平阳(今山西临汾西南),集中兵力进攻洛阳。洛阳的老百姓虽然恨透腐朽的西晋王朝,但是也不愿受匈奴贵族的统治。所以刘渊两次进攻,都遭到洛阳军民的猛烈抵抗,不得不退兵。
那时候,八王中最后的一个王——东海王司马越还在和一批大臣互相仇杀。晋朝留下的一点点兵力也消耗得差不多了。
后来刘渊死去,他儿子刘聪接替做汉国皇帝,又派大将刘曜、石勒进攻洛阳。洛阳的军民奋勇抵抗,但是毕竟寡不敌众。公元311年,洛阳城终于被攻陷,晋怀帝做了俘虏。
刘聪进洛阳后,杀了大批晋朝的官员和百姓,有一次,刘聪举行宴会,让晋怀帝穿着奴仆穿的青衣给大家斟酒。一些晋朝的遗臣看了,禁不住失声痛哭。刘聪看晋朝遗臣还对怀帝这样有感情,一发狠,就把怀帝杀了。
晋怀帝死后,在长安的晋国官员拥立怀帝的侄儿司马邺继承皇位,这就是晋愍(音min)帝。
公元316年,刘聪攻下长安。晋愍帝也遭到了怀帝同样的命运,在受尽侮辱后被杀。西晋王朝维持了五十二年,终于灭亡。
西晋灭亡之后,北方的各族人民(主要是匈奴、鲜卑、羯、氐、羌五个少数民族)纷纷起义,他们中间的上层分子乘机起兵,像李雄、刘渊一样建立政权,前前后后一共出现十六个割据政权,历史上称为“十六国”(旧称五胡十六国,胡是古时候对少数民族的泛称)。