白登突圍
為了防禦匈奴人的進攻,漢高帝劉邦便把韓王信封於代地。漢高帝六年(公元前201年),匈奴大舉進攻馬邑,韓王信不敵,於是索性投降匈奴。
當楚漢戰爭正在如火如荼地進行之際,開始日益強大起來的北方游牧部落匈奴在冒頓單于的帶領下,東破東胡,西攻月氏,北征丁零、堅昆等部,南滅樓煩、白羊,並重新佔領了河套地區。待到西漢王朝建立時,強盛的匈奴部已擁有「控弦之士」近40萬,他們正虎視眈眈地對著中原,聲勢逼人。顯然,他們不久將要成為西漢王朝的一支勁敵。
高帝六年(前201年),冒頓單于發兵圍攻馬邑(今山西朔縣)。是年九月,早就同匈奴關係曖昧的韓王信放棄了抵抗,開始與匈奴勾結。次年,韓王信又與匈奴聯合進攻晉陽(今山西太原)。
高帝七年(前200年)十月,劉邦親率大軍30萬進剿韓王信,於銅鞮大破叛軍。韓王信公開逃往匈奴,與匈奴人及部下殘軍繼續同漢王朝為敵。匈奴左右賢王率萬餘騎兵在廣武、晉陽一帶不斷與漢軍周旋。時值天寒大雪,漢軍士卒多被凍傷,其中被凍掉了手指的人就佔到了十分之二三。然而,冒頓單于為迷惑漢軍,故意隱匿其精兵,反將一千老弱士卒暴露在外。
劉邦被騙,於是親率漢軍主力向匈奴大肆進攻。當漢軍越過句注山時,奉春君劉敬覺察到敵軍有異常,他勸阻劉邦道:「如今兩國相鬥,應該首先把自己的優勢展現出來以令敵軍產生畏懼心理。現在,我卻只看見敵方老弱病殘的士兵,想來這一定是他們引誘我們的法子。所以,我認為匈奴是不可以輕易攻打的!」然而,劉邦非但不聽勸阻,反而指責劉敬惑亂軍心,以至將其關押問罪。
劉邦率漢軍至平城,在步兵主力尚未集結之時,冒頓單于突然率領著自己的30多萬精銳部隊殺出,一鼓作氣便將劉邦所部圍困於平城東南之白登山(今山西大同市東北)。漢軍頓時被截為內外不能呼應的兩部,劉邦及被圍困於白登山上的漢軍將士七日七夜不得突圍,內外漢軍彼此不能相救,情況萬分危急。
就在此時,劉邦手下的重要謀士陳平獻計:派人賄賂單于的閼氏(相當於漢朝的皇后),並曉之以利害。閼氏在接受了賄賂后,果然勸說冒頓令其解圍。恰值叛投匈奴的降將王黃、趙利等人也未按單于規定的時間趕來會師,此事引起了冒頓的懷疑。冒頓消滅劉邦的決心開始動搖,於是他便命令圍開一角,陳平等人則趁隙保護著劉邦突圍而出。到達平城時,漢軍主力已至,匈奴人見戰機已失,不得不撤兵而去。劉邦知匈奴撤兵,也不敢戀戰,在派出樊噲收復代地后,自己則率兵退回了廣武。不久,他回到了長安。
平城之戰後,白登被圍使得漢高帝劉邦認識到了西漢王朝暫時還無力與匈奴較量,從此他便改變了對匈奴的強硬對策。此時,劉敬趁機獻上了「和親」之策,以暫時籠絡住貪婪的匈奴人。漢匈和親以後,雙方還「約為兄弟」,西漢政府最終用財物換得了邊境暫時的安寧。儘管此後匈奴仍不時騷擾,但大規模的軍事行動在漢初並未出現。直到漢武帝時期,漢方才一改屈辱的妥協政策,轉而對匈奴人展開了大規模的反擊。