漢軍被圍七天七夜,糧草將盡,情況十分危急。劉邦采取了陳平的建議,厚賂冒頓單於閼氏(匈奴單於妻之稱號)。閼氏於是勸冒頓單於:“兩主不相困。即使得到了漢地,單於也不能長久居住。且漢王亦有神,單於察之。”由於閼氏的勸說,而且相約配合作戰的西漢降將王黃、趙利沒有按時到達,單於懷疑他們與漢有謀,因此解圍一角。劉邦令強弩加兩矢對外掩護,趁著大霧,率軍由缺口逃出白登山,至平城,才與大軍會師。劉邦令樊噲守代(郡治代縣,今河北蔚縣東北代王城),率軍回南。匈奴也撤軍而去。
白登之戰後,高祖認識到國家久戰之後,沒有實力徹底解決匈奴的問題,聽取了婁敬的建議,對匈奴采取和親的政策。
(二)上郡之戰
上郡之戰是指漢景帝中元六年(公元前144年),在西漢與匈奴的戰爭中,漢邊郡太守李廣與匈奴騎兵的一次遭遇戰。
西漢邊郡太守李廣
中元六年,匈奴劫掠西漢在邊郡所養的苑馬。至上郡(郡治膚施,今陝西榆林東南魚河堡)時,匈奴數千騎與率百餘騎兵出巡的李廣遭遇,敵我力量對比懸殊。幸好匈奴誤認為搶馬惹怒了漢軍,李廣被派來誘敵,大隊漢軍就埋伏在附近,不但不敢進攻,反而立即上山列陣。李廣的部屬紛紛要求趕快撤退,免得死無葬身之地,李廣道:“我們跑得再快又能比匈奴的騎兵快多少呢,若是被追上就會難以生還,不如索性停下來,匈奴兵摸不清我們的虛實,一定不敢輕易來攻擊我們。”於是故意前進至離匈奴軍2裏處解鞍下馬,做出毫無防備的樣子,匈奴騎兵愈發不敢進攻。匈奴軍中有一位騎白馬的將軍出來巡視隊伍,李廣帶領十餘騎飛奔過去射殺了他,又很快回來,並令士兵放開戰馬,人都在地上休息。匈奴越加疑惑,仍不敢進擊。到了半夜,匈奴以為漢軍大部隊有可能乘夜偷襲,連夜率軍逃了回去。天亮之後,李廣從容不迫地率軍返回大營。
此戰,在處於絕對劣勢的時候,飛將軍李廣從容鎮靜,臨危不懼,利用疑兵之計,避免了被敵軍殲滅的情況出現,與諸葛先生的空城計有異曲同工之妙。
(三)馬邑之戰
埋伏於陣前的西漢部隊
馬邑之戰是指漢元光二年(公元前133年),在西漢與匈奴的戰爭中,漢武帝劉徹在馬邑(今山西朔縣)設伏擊匈奴沒有成功的一次軍事行動。
元光二年,雁門(郡治善無,今山西右玉城南)馬邑的富戶聶翁壹通過王恢建議漢武帝誘單於至馬邑,然後伏擊殲滅。武帝召集群臣商量這件事,有的主戰、有的主和,意見不一。武帝認為,經幾十年休養生息和戰爭準備,國庫充實,軍力強盛,反擊匈奴的條件已經成熟,決定改變戰略防禦為主的政策,轉入反擊。令聶翁壹會見匈奴軍臣單於,假說可以殺了馬邑縣令,請匈奴來取其子女、財物。聶翁壹回來後,斬了一個犯了死罪的囚犯,懸其頭於城上,稱這就是縣令首級。軍臣單於信以為真,高興地親率10萬騎兵進塞,準備大肆搜刮子女、財物。武帝發兵30萬。以禦史大夫韓安國為護軍將軍,衛尉李廣為驍騎將軍,太仆公孫賀為輕車將軍,率軍埋伏在馬邑附近山穀中,預備消滅匈奴有生力量;以大行王恢為將屯將軍,太中大夫李息為材官將軍,率3萬人伏於代郡(郡治代縣,今河北蔚縣東北代王城),準備截擊匈奴輜重。軍臣單於進至離馬邑百餘裏的地方,看到牛羊遍野,沒有人看管,對這種不尋常之處生出懷疑,立即派兵奪諏漢亭塞。審問俘獲的漢雁門尉史,這才得知漢重兵埋伏於馬邑四周山中,於是馬上引兵退走。伏於代郡的王恢的部隊,見匈奴兵人數眾多,未敢貿然出擊。
馬邑伏擊雖未成功,但卻揭開了西漢反擊匈奴作戰的序幕。
(四)河套以南戰役
西漢與匈奴軍隊激戰
河南之戰是指漢武帝元朔二年(公元前127年),在西漢與匈奴的戰爭中,漢車騎將軍衛青率軍奪取河套以南地區(今黃河河套南內蒙古伊克昭盟一帶)的遠程迂回作戰。
元朔元年,匈奴騎兵先後襲掠遼西(郡治陽樂,今遼寧義縣西)、漁陽(郡治漁陽,今北京市密雲西南)、雁門(郡治善無,今山西右玉城南)等地。二年春,又襲掠上穀(郡治沮陽,今河北懷來東南)、漁陽,殺擄吏民千餘人。