漢軍在向西大捷以後,匈奴在軍事形勢上的右翼力量已經顯著削弱;但單於兵力的中堅部分,對漢朝的威脅依然很大。河西之戰的第二年,即元狩三年(公元前120年)秋,匈奴又派騎兵數萬人侵入右北平、定襄,殺掠吏民千餘人,並企圖引誘漢軍深入,乘其遠道疲困予以殲滅。
漢武帝決心徹底解除來自匈奴的侵擾,為此目的,他一方麵采取整理幣製、專賣鹽鐵、加重商稅等措施,以解決戰時經濟的困難;一方麵乘匈奴勢衰之際,集中兵力,深入打擊其主力。元狩四年(公元前119年)春,他召集眾將商議進軍漠北說:“翕侯趙信為單於畫計,常以為漢兵不能度幕(沙漠)輕留(輕入久留),今大發卒,其勢必得所欲。”他利用趙信的錯誤判斷,因勢利導,確定集中兵力、深入漠北、殲滅匈奴主力的作戰方案。隨即集中兵力10萬人,組成兩大騎兵集團,令衛青、霍去病各領騎兵五萬,分東西兩路,遠征漠北。同時令李廣為前將軍,公孫賀為左將軍,趙食其為右將軍,曹襄為後將軍,皆歸衛青指揮。由於此次用兵,是準備在沙漠地區與匈奴主力決戰,大量人馬的物資供應和軍需品的運輸補給,對於戰爭的勝負至關重要。武帝在連年戰爭、軍馬不足的情況下,決定組織“私負從馬十四萬匹”,隨軍行動;並以步兵數十萬人,緊隨大軍之後轉運輜重,以保證這次軍事行動的後勤補給。
漢軍大出擊的消息傳至匈奴,趙信向單於獻策說:“漢軍即度幕,人馬疲,匈奴可坐收虜耳。”伊稚邪單於納其議,將全部輜重轉移至遠北,以精兵待於漠北。漢軍原擬由定襄北進,並由霍去病專力對付單於。但在進軍途中,捕得匈奴俘虜,得知單於駐地所在,於是又改令霍去病從代郡出擊,衛青仍按原定計劃出定襄。衛青率領精兵直趨單於駐地,命令李廣與趙食其合兵一處,從東道進發,約定在戰場會齊。衛青率軍出塞後,北進千餘裏,渡過大沙漠,望見伊稚邪單於的軍隊正嚴陣以待。衛青臨危不懼,他下令用武剛車(四周及車頂用皮革做防護的兵車)自環為營,然後派出5000名精騎去向敵陣衝鋒。伊稚邪也以萬騎應戰。這時,天近黃昏,狂風陡起,沙礫擊麵,兩軍對麵不相見。衛青乘勢派出部隊從左右翼迂回,包圍單於的營陣。單於見漢軍人數眾多,士氣旺盛,自度不能取勝,慌忙騎上善走騾,率領數百名精騎,向西北方向突圍逃去。兩軍激戰至深夜,殺傷相當。衛青發現單於逃走,立刻派出輕騎連夜追擊,匈奴人馬紛紛潰散。及至天明,漢軍深入200餘裏,未獲單於蹤跡,計俘斬匈奴官兵1.9萬人。漢軍一直挺進到寘顏山(寘音田,寘顏山在今外蒙古納拉特山)趙信城(趙信降匈奴後所建)。漢軍在趙信城繳獲匈奴大批積粟,補充了軍用。大軍駐留一日後,盡焚其城餘粟奏凱而還。
根據漢武帝的作戰計劃,霍去病統率的東路是主力軍,因而配備兵力最強,所領騎兵皆“敢力戰深入之士”,所屬將領,如右北千太守路博德,北地都尉衛山,校尉李敢和徐自為等人,都是有名的猛將。他的部隊中還有一部分是先前匈奴的降將,他們熟知地理,慣於在沙漠中行軍。霍去病率軍出代郡和右北平,北上行軍2000餘裏,越過大沙漠,與匈奴左賢王軍遭遇,大敗左賢王,擊潰其主力部隊,俘獲左賢王屬下三個小王,將軍、相國、當戶、都尉等83人,捕斬7.04萬餘人。左賢王及其將領棄軍逃走,漢軍追至狼居胥山(今外蒙古烏蘭巴托以東),在其主峰上建立高壇,祭告天地,然後班師凱旋。
這次漠北決戰,衛青所到寘顏山和霍去病所到狼居胥山,都在瀚海大沙漠以北,已深入匈奴腹地。漢朝兩路大軍追擊匈奴,出塞2000餘裏;共殲敵9萬餘人,奪回了匈奴在大漠以南的所有草地,“是後匈奴遠遁,而漠南無王庭”,基本上解除了匈奴對漢朝的威脅。漢軍亦有不小損失,士兵死亡數萬人,軍馬損折11萬餘匹。
經過這幾次打擊,匈奴一蹶不振,再無力騷擾中原。西漢建國以來百年的匈奴邊患,至此基本解除。漢武帝反擊匈奴的戰爭,製止了匈奴貴族的野蠻掠奪,維護了漢朝邊郡的先進的農業生產,使北部邊境地區得到進一步開發,是符合廣大人民利益的。
拓土辟疆,廣開三邊
秦始皇雖然統一了南方,但南方的形勢並不穩固。秦亡後,南方和東南方相繼出現了幾個越族政權,自立為王,這就是東甌、閩越和南越。漢初無能為力,漢朝不得不和它們“剖符通使”,承認現狀。閩越國實力雄厚,“甲卒不下數十萬”,閩越王根本不把西漢王朝放在眼裏,“名為藩臣,貢酬之奉不輸,一卒之用不給”,而且還經常發兵騷擾漢境,吳楚“七國之亂”後劉濞敗逃東甌,東甌王殺之。劉濞的兒子逃到閩越,閩越王收留了他,並與其共同蓄謀反漢。閩越王的反漢活動嚴重影響了西漢王朝在全國的統治,也將給東南人民帶來戰亂之苦,漢武帝決心消除這一禍患。