元平元年(前74年),汉昭帝驾崩,昌邑王刘贺短暂即位后被废,刘询(汉宣帝)登基。乌孙昆弥见汉朝新君即位,再次派遣使者入朝,言辞恳切地奏请:“我国接连遭受匈奴侵伐,部众离散,国力衰弱,如今愿倾尽国中一半精兵——共计五万人马,全力配合汉朝反击匈奴,恳请天子派遣大军,救救解忧公主与乌孙百姓!”汉宣帝深知,乌孙若被匈奴征服,汉朝在西域的防线将彻底崩溃,“断匈奴右臂”的战略将化为泡影,因此果断决定出兵,发动对匈的大规模反击。
本始二年(前72年)七月,汉宣帝下令动员全国兵力,精选关东地区(函谷关以东)的轻车锐卒,又从各郡国中挑选职位在三百石以上、体魄强健且精通骑射的官吏编入军队,组成西征大军。他任命五位将领分兵出击:御史大夫田广明为祁连将军,率四万骑兵出西河郡(今内蒙古鄂尔多斯市东南);度辽将军范明友率三万骑兵出张掖郡(今甘肃张掖市);前将军韩增率三万骑兵出云中郡(今内蒙古托克托县东北);后将军赵充国为蒲类将军,率三万骑兵出酒泉郡(今甘肃酒泉市);云中太守田顺为虎牙将军,率三万骑兵出五原郡(今内蒙古包头市西)——五路大军共计十五万骑兵,沿长城一线向北推进,形成东西呼应的战略态势。与此同时,汉宣帝派遣校尉常惠持符节前往乌孙,节制乌孙的五万骑兵,令其从西向东进军,与汉军形成“东西夹击”的钳形攻势,目标直指匈奴腹地。
此次战役,汉军与乌孙军配合默契,匈奴陷入两面作战的困境。匈奴单于得知汉军十五万大军压境,又听闻乌孙军从西面袭来,惊慌之下被迫放弃对乌孙的攻势,仓促向北逃窜,却在途中遭遇乌孙军的突袭,随后又被汉军追击。最终,汉军与乌孙军共俘获匈奴单于的父辈、嫂辈、居次(匈奴公主)、名王(匈奴贵族首领)、犁污都尉(匈奴主管农业的官员)、千长、将军以下共计三万九千人,缴获马、牛、羊、驴、骡、骆