在李雄在成都称王的同一年(公元304年),北方的匈奴贵族刘渊也反晋**,自称汉王。
自从西汉末年起,有一部分匈奴人分散居住在北方边远郡县,他们和汉族人相处久了,接受了汉族的文化。匈奴贵族认为上代多次跟汉朝和亲,是汉朝皇室的亲戚,后来就改用汉皇帝的姓——刘。曹操统一北方后,把匈奴三万个部落分为五个部,每个部都设部帅,匈奴贵族刘豹是其中一部的部帅。
刘渊是刘豹的儿子,从小读了许多汉族人的书,力气大,武艺高,能够拉三百斤重的大弓。刘豹死后,刘渊继承他父亲的职位。后来,在西晋的成都王司马颖(八王之一)部下当将军,留在邺城,专管五部匈奴军队。
八王混战开始后,匈奴部落里一些贵族们在左国城(今山西离石北)开会商量。有个老年贵族说:“我们匈奴从汉朝开始跟汉人结为兄弟。经过魏、晋两个朝代,匈奴单于后代虽然有封号,却没有自己的尺寸土地,跟一般百姓没有什么两样。现在晋朝发生内乱,自相残杀。这正是我们匈奴人恢复地位的好时机啊!”
大家都觉得他的主意对,叫谁来带头呢?大家一议论,认为刘渊有才能,威望高,推他当单于挺合适。
贵族们派个使者到邺城,把大伙儿的意思告诉刘渊,请他回来。刘渊很高兴,就借口要回匈奴葬自己的父亲,向司马颖请假。司马颖不同意,刘渊只好让使者先回去,并且要五部匈奴集结兵力,向南移动。
后来,晋朝的并州刺史司马腾、将军王浚联络鲜卑贵族攻打司马颖,司马颖失败了,逃往洛阳。刘渊向司马颖要求回去带匈奴兵马来助战,司马颖才让他走了。
公元304年,刘渊回到左国城,大伙儿拥戴他做大单于。他集中了五万人马,亲自率领南下,帮助晋军攻打鲜卑兵。有人问他,为什么不趁这个机会把晋朝灭掉,反倒去帮助晋军呢?