劉莊當皇帝時,南匈奴再次歸順漢朝。劉莊安排南匈奴人在漢朝境內住下來,並設置中郎將監護他們。南匈奴人成為漢朝臣民。黃巾軍起義時,南匈奴人還幫助鎮壓過。董卓之亂時,南匈奴人開始不安分,趁機搶掠了太原河東一帶。曹操統一北方後,意識到南匈奴人是潛在威脅,便將南匈奴人分為五部,分別任命劉姓人為統帥,讓五部匈奴人居住在汾水和澗水一帶。其中,劉豹為左部帥。
劉豹死後,劉淵繼任。劉淵嚴明刑法,愛好施舍,與他人相交推誠相待,在五部匈奴中贏得了聲望。八王之亂後,劉淵叔父左賢王劉宣等人密謀趁亂複興匈奴,獨立建國,冊立劉淵為大單於。一起謀劃好後,劉宣派呼延攸去報告劉淵。劉淵讓呼延攸回去告訴五部匈奴諸將,起兵響應司馬穎,其他的相機而動。
公元304年,劉淵出任屯騎校尉。沒多久,司馬穎遭到司馬騰和王浚聯合攻擊,形勢比較嚴峻。劉淵趁機向司馬穎請求回去率領五部匈奴人前來助戰。司馬穎答應了。趁此機會,劉淵脫離司馬穎,回到左國城稱大單於。劉宣等人擁護劉淵在晉朝諸位王爺混戰之機複國,建國號漢。劉淵祭天稱漢王,追尊劉禪為孝懷皇帝,以表明他們是漢朝之後。他們此舉的目的,是打著恢複漢朝的旗幟反晉朝,增強自身的號召力。
劉淵以恢複漢朝為號召獨立建國,遭到司馬騰武力鎮壓。不過,匈奴人壓抑幾百年的戰鬥力爆發出來了,要比晉朝混戰後的軍隊強得多。劉淵率領漢軍不斷攻城略地,不斷獲得勝利。劉淵實力越來越大,所到之處,州縣紛紛投降。上郡四部鮮卑陸逐延的軍隊,東萊人王彌以及石勒起義的軍隊,都紛紛歸順劉淵。劉淵接納他們,對其首領一一授予官職。公元308年,漢王劉淵稱帝,遷都平陽,命令劉聰等人率軍進攻洛陽。劉聰等人率軍在洛陽與晉軍作戰失利。