夏天(元狩二年,公元前121),骠骑将军霍去病与合骑侯公孙敖一起从北地出兵,分道进军;博望侯张骞、郎中令李广一起从右北平出兵,分道进军,都去攻打匈奴。郎中令李广率领四千骑兵先到达了指定地点,而博望侯张骞则率领一万骑兵在后面跟进。匈奴左贤王带领数万骑兵包围了李广的部队。李广与匈奴军进行了两天的战斗,汉军损失过半,但所杀的敌人数量也超过了汉军的损失。博望侯张骞到达,匈奴兵退去。博望侯因行军迟缓,贻误军机,按律当斩,但最终被赎为庶人。而骠骑将军霍去病出北地,已深入匈奴腹地,与合骑侯公孙敖失散,但最终越过居延至祁连山,捕获了大量俘虏。
天子说:“骠骑将军越过居延泽,于是经过小月氏,攻到祁连山,俘虏酋涂王,率众投降的有二千五百人,杀敌三万零二百人,俘获五个匈奴小王、五个匈奴小王的母亲、单于的妻子、匈奴王子五十九个,还俘获匈奴相国、将军、当户、都尉等共六十三人,汉朝军队大概减损十分之三,增封霍去病五千户。赏赐随霍去病到达小月氏的校尉们左庶长的爵位。鹰击司马赵破奴两次跟随骠骑将军出征,斩杀了遬濮王,俘获了稽且王,千骑将捉到匈奴小王和小王母各一人,王子以下四十一人,俘虏敌兵三千三百三十人,先头部队俘虏敌兵一千四百人,划定一千五百户封赵破奴为从骠侯。校尉句王高不识,跟随骠骑将军霍去病俘虏呼于屠王和王子以下共十一人,俘虏敌兵一千七百六十八人,划定一千一百户封高不识为宜冠侯。校尉仆多有军功,封为煇渠侯。”
合骑侯公孙敖犯了行军滞留而未能与骠骑将军会师的罪过,判为死刑,交了赎金,成为平民百姓。各位老将军所率领的兵士和马匹、武器等都不如骠骑将军霍去病,霍去病所率领的是经过千挑万选的最精锐的士兵。霍去病也的确敢深入敌军,常常与精壮骑兵走在大部队的前面。老天似乎也对他们特别照顾,从来没有陷入过困绝之境。但各位老将却经常因为行军迟缓落后,遇不到好的战机。从此以后,骠骑将军一天比一天更被皇上亲近,更加显贵,跟大将军卫青相仿佛。
这一年秋天,匈奴单于因为浑邪王居于西方,多次被汉军打败,损失了数万人马,这些损失主要是由骠骑将军霍去病的部队造成的。单于对此非常愤怒,想要召见并诛杀浑邪王。浑邪王和休屠王等商议后,决定投降汉朝,并派人先到边境迎接汉人。这时,大行李息率兵在黄河岸边筑城,见到浑邪王的使者,立即就命令传车急驰而归,向皇帝报告。皇上听过汇报后,怕浑邪王用诈降的办法偷袭边境,于是就命令骠骑将军领兵前去迎接浑邪王和休屠王。骠骑将军已经渡过黄河,与浑邪王的部队相互远望着。浑邪王的副将们看到汉朝军队,多数不想投降,有好多人逃遁而去。骠骑将军霍去病就打马跑到敌营,同浑邪王相见,杀了想逃走的八千人,于是命浑邪王一个人乘着传车,先到皇帝的行在所,然后由他领着浑邪王的全部军队渡过黄河,投降者有几万人,号称十万。他们到达长安后,天子用来赏赐的钱就有几十万。划定一万户封浑邪王为漯阴侯。封他的小王呼毒尼为下摩侯,鹰庇为煇渠侯,禽梨为河綦侯,大当户铜离为常乐侯。
皇帝嘉奖霍去病的功劳时说:“骠骑将军霍去病率领部队征伐匈奴,西部地区的浑邪王部及其臣民都来投降。霍去病用军粮援助他们,并率领射手万余人,诛杀那些骁悍凶恶的敌人,杀敌八千多,降服异国之王三十二人。我军战士没受损伤,却使十万人诚心归服。由于霍去病屡次作战的功劳,使得黄河上的边塞地区几乎无忧患。用一千七百户加封霍去病。”。减少陇西、北地、上郡三地的戍边士兵人数的一半,以减轻天下百姓的徭役负担。
过了一段时间,汉朝将投降的匈奴人分别迁徙到边境上的五个郡的故塞之外,这些地方都在黄河以南。汉朝根据他们的原有习俗,设立了五个属国来管理他们。第二年(公元前120,元狩三年),匈奴人入侵右北平和定襄,杀害和掠夺了汉朝一千多人。