汉征和三年(公元前90年)三月,在西汉与匈奴的战争中,贰师将军李广利击匈奴,被匈奴骑兵围歼于燕然山(今蒙古杭爱山)的作战。 二年,匈奴袭掠上谷(郡治沮阳,今河北怀来东南)、五原(郡治九原,今内蒙古包头市西北),杀掠吏民;三年春,匈奴袭掠五原、酒泉(郡治禄福,今甘肃酒泉市),杀汉两郡都尉。三月,武帝刘彻遣李广利率军7万从五原出塞击匈奴。匈奴单于闻汉军至,徙其辎重于郅居水(今蒙古北部之色楞格河),左贤王驱其部众渡余吾水(今蒙古境内土拉河)至余吾水北六、七百里之兜衔山。单于自率精兵渡姑且水(今蒙古图音河)。汉军至,匈奴以右大都尉卫律(西汉降将)率5000骑击李广利军于夫羊句山峡(约在今蒙古达兰扎达加德附近),被汉军击败,死伤数百人。汉军追击至范夫人城(约在夫羊句山峡以北)。时李广利曾因与丞相刘屈?相谋立李夫人(汉武帝宠姬,李广利之妹)之子昌邑王为太子获罪,其妻又因巫蛊被捕,欲深入击匈奴以求功赎罪,故冒险北进,遣护军率2万骑渡郅居水,与匈奴左大将、左贤王2万骑苦战一日,杀左大将,斩俘甚众。李广利退军至燕然山时,匈奴单于知汉军疲惫,率5万骑遮击广利军,杀伤甚众。当夜,单子军挖数尺深之堑壕于汉军前,又从后击之,汉军大乱,为匈奴围歼,李广利降匈奴。为配合李广利作战,遣御史大夫商丘成率军3万(一说2万)出西河(郡治平定,今内蒙古东胜境)、重合侯马通(一作莽通)率4万骑出酒泉击匈奴,均无功而返。 点评:此战,匈奴单于采取主力远移,待汉军疲惫时进行反击的战术,获得成功。汉军兵力分散,用人失误遭惨败。此后,汉武帝下诏罪己,停止对匈奴的反击。燕然山之战,是汉武市在位期间与匈奴的最后一次大战,也是他用兵匈奴以来最大的一次失败。这次败仗,使汉武帝受到了极大的震动,“悔远征伐”。长期的战争,不仅使国力遭到巨大的消耗,导致国库的空虚,而且人民的路役赋税负担极其沉重,导致阶级矛盾的激化,农民大批逃亡,武装起义不断发生。这一切,使汉武帝意识到,无限制地对匈奴发动战争实在得不偿失。他经过深刻反省,决心改弦更张。征和四年(前89年)六月,遂发行著名的轮台诏令“探陈既往之悔”,从此,汉武帝不再主动出兵进攻匈奴,由尚武而转向重视农耕,重新实行休养生息的政策。