漢匈戰爭又稱漢匈百年戰爭是指漢朝對付匈奴的一系列戰役,雙方各有勝負,前後經歷超过两个世纪。此一期間,漢朝與匈奴的關係是和親與戰爭並存。此外,漢武帝從元狩二年(前127年)開始下令修築漢長城。
第一階段從漢高祖七年(前200年)至漢武帝元光元年(前134年)為止,第一階段採取了和親政策;漢文帝時期,“與匈奴和親,匈奴背約入盜,然令邊備守,不發兵深入,惡煩苦百姓”。前198年,汉高祖在擊退匈奴冒頓後考慮國力問題,接受汉匈双方以长城为界,并且跟匈奴展開貿易送匈奴丝绸、米酒和粮食。[5][6]史料记载,前后共送出了10位宗室之女,即冒顿单于于前200年、前192年及前176年所接收到的3位公主,老上单于于前174年及前162年所收到的2位公主,军臣单于于前160年、前156年、前155年、前152年及前140年所收到的5位公主。[7]
第二階段從漢武帝元光二年(前133年)馬邑之戰開始,至漢武帝元狩四年(前119年)的漠北之戰結束。
元光六年(前129年),卫青袭破龙城。汉武帝令四将军各率万骑,出击匈奴。其中,车骑将军卫青出上谷;公孙贺出云中;太中大夫公孙敖为骑将军,出代郡;李广为骁骑将军,出雁门。此次战争中,卫青直捣龙城,获首虏700余级。公孙贺一路无所得、无所失,无功而还。公孙敖一路,损失骑兵7,000。李广一路,全军覆没,李广被俘,在途中只身逃归。
前127年,衛青和李息出雲中,西經高闕,直到符離(今甘肅省北部),取得河南之戰的勝果,奪取了河套地區,漢朝設置朔方郡。次年,又派遣校尉蘇建率領100,000人興築陰山甫麓的長城。
元狩二年(前121年),霍去病出隴西,殲滅單于渾邪王的部隊,越過焉支山1,000餘里,取得了河西之戰的勝利,獲得隴西,設置涼州四郡。匈奴人哀嘆:「亡我祁連山,使我六畜不繁息;失我胭脂山,使我婦女無顏色。」單于恨渾邪王損兵折將,渾邪王和休屠王害怕,於是投降漢朝。
元狩四年(前119年),由霍去病率領主力精銳騎兵,衛青率車騎混合部隊,兵分兩路出擊漠北,衛青帶領公孫賀、李廣等將領出定襄,行千餘里穿越大漠突遇布陣以待的伊稚斜單于本軍,兩軍對峙,日暮時出現沙塵暴,衛青乘勢指揮包圍單于,單于向西北逃走,匈奴軍潰散。衛青急派輕騎追擊,自率主力跟進。直至顏山趙信城,俘虜和斬殺一萬九千人,燒其積粟還師。原預計自東路迂迴阻截的李廣、趙食其之部隊,因迷路而未與衛青會師。另一路由霍去病率校尉李敢等出代郡,原獲情報為單于所部位於代郡以東,然深入漠北未發現匈奴主力,故繼續北進2,000餘里,越離侯山,渡弓閭河,與匈奴左賢王部隊接戰,殲敵70,443人,俘虜匈奴屯頭王和韓王等3人及將軍、相國、當戶和都尉等83人,乘勝追殺至狼居胥山(今蒙古國北部肯特山),在狼居胥山舉行了祭天封禮,一直攻擊至翰海(今俄羅斯貝加爾湖),方才回兵。史稱“封狼居胥山,禪於姑衍,登臨翰海,執鹵(虜)獲醜七萬有四百四十三級”。
漠北之戰對漢匈雙方皆造成深遠的打擊,汉朝暂时解决了匈奴在边袭搶掠的问题,匈奴損失大量人力、土地及家畜,食物短缺被迫北遷至西伯利亞地區,同時漢朝也付出極大的代價,兩軍出塞士卒陣亡數萬,十四萬馬匹只餘三萬回。此後匈奴暫時停火,而漢廷將資源轉向投入南越、東甌、北夷(朝鮮)等地區的征拓。
元鼎五年(前112年),羌人与匈奴联手反叛,史载“西羌众十万人反,与匈奴通使,攻故安,围包罕。匈奴入五原,杀太守”,次年聚积18万骑兵北巡,拟以此显示国力,震慑匈奴。
征和三年(前90年),李廣利受命出兵五原伐匈奴的前夕,丞相劉屈氂與李廣利合謀立昌邑王劉髆為太子。史載:「征和三年,貳師將軍李廣利將兵出擊匈奴。丞相為祖道,送至渭橋,與廣利辭決。廣利曰:『願君侯早請昌邑王為太子。如立為帝,君侯尚(長)何憂乎?』」後劉屈氂被腰斬,李廣利妻被下獄。此時李廣利正在燕然山乘勝追擊,聞訊消息,恐遭禍,欲再擊匈奴取得勝利,以期漢武帝饒其不死。惟後兵敗,李廣利投降匈奴,士卒死亡數萬人,在深入大漠1,000餘里的境內,無足夠的給養,難以生存。消息傳來,漢武帝中止了與匈奴的戰爭,不復出兵。《資治通鑒》卷二十一,對於漢武帝使李廣利對匈奴用兵一事,提出批判:“武帝欲侯寵姬李氏,而使廣利將兵伐宛,其意以為非有功不侯,不欲負高帝之約也。夫軍旅大事,國之安危、民之死生系焉。苟為不擇賢愚而授之,欲徼幸咫尺之功,藉以為名而私其所愛,不若無功而侯之為愈也。然則武帝有見於封國,無見於置將;謂之能守先帝之約,臣曰過矣。”
漢武帝晚年悔過,下罪已詔稱:“朕即位以來,所為狂悖,使天下愁苦,不可追悔。自今事有傷害百姓,糜費天下者,悉罷之。”此時漢朝大虛,《漢書》:“天下虛耗,人復相食”。也就在汉武帝下罪已的此年,匈奴单于遣使要汉朝每年缴10,000石米酒,5,000斛粮食,10,000匹丝绸的岁币。在前87年漢武帝去世那年,又有“匈奴入朔方,殺略吏民”。虽然第二階段耗费巨资,而且未彻底地解除中國北方的边境的安全隐患,但是在讨伐匈奴的过程中,奪得了部分匈奴领地,在河西和匈奴漠南基地河套设置郡县,切断了匈奴和羌族的关系。
第三階段從漢武帝太初二年(前103年)的浚稽山之戰開始,至漢宣帝本始三年(前71年),由漢援烏孫擊匈奴之戰而結束,漢遣5將軍率160,000騎兵,烏孫發兵50,000騎兵,共擊匈奴,取得了對匈戰爭的勝利。
此三阶段汉匈战争结束后,一直延续约100年之久,直到東漢永元三年(91年),大將軍竇憲和耿秉深入瀚海沙漠,出擊鹿塞(內蒙古磴口縣西北70公里)3,000華里,大破匈奴於金微山(今中蒙交界處的阿爾泰山脈),彻底地解决了漢朝历时約300年之久的匈奴禍患。然而,東漢擊破北匈奴,使得鮮卑擺脫匈奴的威脅而壯大,甚至後來於東漢中期至魏晉年間取代匈奴成為中國的邊患。