公元前 121年夏天,漢武帝決定乘勢全部掃除匈奴在河西地區的勢力,打通進入西域之路,於是發動了第二次河西戰役。
這次戰役,以霍去病、公孫敖率領的幾萬騎兵為主力,從北地郡(在今甘肅環縣)出發,另派李廣、張騫率壹萬多人從右北平出發,攻擊匈奴左賢王,策應西征的主力軍。霍去病與公孫敖出塞後,分兵前進,公孫敖由於中途迷失方向,而未能參加戰鬥。霍去病與公孫敖聯系不上,只好孤軍深入,越過居延海(今內蒙古額濟納旗北),穿過小月氏部落,抵達祁連山。匈奴被他神妙莫測的戰術搞得暈頭轉向,祁連山麓壹戰,被打得大敗。這次戰役,總計接受匈奴單桓王、酋塗王及相國、都尉等2500人投降,俘虜了王母、單於閼氏、王子。相國、將軍、當戶、都尉等
120多人,殲滅匈奴兵30200人。
漢武帝加封霍去病食邑5400戶。從此,霍去病的聲望日益顯赫,地位日益尊貴,幾乎與舅舅衛青相當了。
兩次河西戰役之後,漢朝完全控制了河西地區,這對匈奴是壹個很大的打擊。匈奴人非常惋惜,他們悲傷地唱道:“亡我祁連山,使我六畜不蕃息;失我焉支山,使我婦女無顏色。”
匈奴伊稚斜單於對於渾邪王、體屠王的屢次戰敗,非常惱火,派使者征召他們,準備治罪。渾邪王新失愛子,本來就夠心煩的了,又聞單於將要加罪,於是與休屠王商量,決定向漢朝投降,並派使者來與漢朝接洽歸降事宜。當時負責藩屬事務的大行李息,正在黃河邊上築城,見到渾邪王派來的使者,馬上派人向中央報告。
漢武帝得到這壹消息,很高興,認為這樣可以分化匈奴,減弱匈奴的力量,但是又擔心其中有詐,於是派霍去病帶領壹萬騎兵。前往河西,見機行事。
霍去病還沒有到達河西,情況就發生了變化。體屠王聽信部下的讒言,不想投降了。渾邪王騎虎難下,痛恨休屠王的背信棄義,於是壹不做二不休,他率兵沖入體屠王的營帳,殺死了休屠王,收編了休屠王的部隊,然後列隊迎接漢軍的到來。
霍去病渡過黃河,與渾邪王遙遙相望。渾邪王的部下很多。本來意誌就不堅定,現在看到漢軍陣容嚴整,心存疑懼,紛紛逃走。霍去病望見渾邪王陣營人群騷動,當機立斷,親率幾名精騎飛馬馳人渾邪王營帳,與渾邪王談判,下令將私自逃跑的匈奴將士8000人全部殺死。這樣才把匈奴軍隊穩住了。然後,霍去病派輕車快馬先把渾邪王送往長安拜見漢武帝。接著,他把四萬多匈奴降兵編隊列陣,帶回長安。
在河西戰役期間,漢武帝特地從京城送來壹壇美酒,霍去病沒有獨自享用,而是將酒倒入泉水中,讓全軍將士飲用,後來,此泉就稱為酒泉,當地也就以泉命名。