元狩四年(公元前年),汉武帝派遣卫青、霍去病各率五万骑兵,及步兵几十万出击匈奴,这是汉武帝时期与匈奴的最后一次大战。大将军卫青与匈奴单于会战,单于遁逃,卫青所部前后俘斩敌兵一万九千人。匈奴单于与部众音讯不通十余日,匈奴右谷蠡王以为单于已死,就自立为单于。后来单于与部众会合,右谷蠡王乃去单于名号。
卫青麾下前将军李广和右将军赵食其因道路迷失,未能及时与卫青会师同攻单于。李广受到责问,因不愿与刀笔吏对质而自杀,卒年约七十岁。李广死讯传来,“一军皆哭。百姓闻之,知与不知,无老壮皆为垂涕。”(详见前文《李将军列传》)。赵食其回朝后下吏,按律当斩,赎为庶人。此次战役卫青未得加封,部下也无人因战功而封侯。
这次功匈奴之役,骠骑将军霍去病也率骑兵五万,用李敢等校尉充当副将。出代郡、右北平千余里,越大漠,与匈奴左贤王部决战,俘获单于近臣章渠,斩匈奴比车耆王,转战而前,再俘匈奴三王,及将军、相国、当户、都尉等八十三人。封狼居胥山,禅于姑衍,登临翰海。霍去病所部在此次战役中共俘斩敌军七万零四百四十三人,汉军损失十分之三。
霍去病因战功,再益封五千八百户。右北平太守路博德有功,以一千六百户封为符离侯。北地都尉邢山有功,以一千二百户封为义阳侯。从前降汉的匈奴因淳王复陆支、楼专王伊即靬皆有功,以一千三百户封复陆支为壮侯,以一千八百户封伊即靬为众利侯。从骠侯赵破奴、昌武侯赵安稽有功,各益封三百户。校尉李敢有功,封关内侯,食邑二百户。校尉徐自为授大庶长之爵。其余霍去病所部士卒小吏封官和受赏者极多。
此役之后,匈奴远遁,漠南无王庭。而汉军损失亦极大,卫青和霍去病两支大军出塞前阅兵时,共有官私马匹合计十四万,而入塞时所剩马匹还不到三万。汉武帝又增置大司马官位,大将军卫青和骠骑将军霍去病均为大司马,且规定骠骑将军的官阶和俸禄与大将军相同。从此以后,大将军卫青权势日减,而骠骑将军霍去病日益显贵。卫青的故人和门客纷纷离去,转投到霍去病门下,这些人往往得到官爵,只有卫青的门客任安不肯这样做。
霍去病为人沉默寡言,有气敢任。汉武帝曾想让他学习孙吴兵法,他说,战争胜负只须看方略,不必学兵法。汉武帝赐给他府第,他说:“匈奴未灭,无以家为也”,汉武帝因此对他更加重用和喜爱。霍去病因为少年贵显,所以在战场上往往不恤士卒。出兵打仗时,天子曾派官员赏赐给他数十车粮肉,班师时他把剩余的都丢弃了,而士卒还多有饥者。在塞外时,士卒因饥饿而不能自振,他却蹴鞠如故,这类事情有很多。
元狩六年,即汉击匈奴后三年,霍去病卒。汉武帝非常悲痛,谥霍去病为景桓侯,武为景,广地为桓也。霍去病的儿子霍嬗继为冠军侯。霍嬗字子侯,年龄很小,但极受武帝喜爱,希望他长大后也担任将军。但六年后,即元封元年,霍嬗就死了,赐谥为哀侯。霍嬗无子,霍去病后代断绝,封国废除。古人云:三代为将,道家所忌。天道杳茫,实人所难知。
大将军卫青为人宽仁恭让,然以柔顺媚上,因此不被天下人称道。霍去病死后,卫青的长子宜春侯卫伉犯法失侯。五年后,卫伉的两个弟弟阴安侯卫不疑和发干侯卫登,皆坐酎金失侯。后二年,冠军侯封国废除。又四年,大将军卫青去世,谥曰烈侯。卫青得尚平阳长公主,故其死后,其子卫伉得为长平侯。但六年以后,卫伉又因违法而失侯。卫青死后,卫氏日衰。巫蛊之祸起,卫青外甥太子刘据被杀,武帝皇后卫子夫亦自杀。自卫氏之兴,卫霍氏五人封侯。二十四年间,五个侯爵全被剥夺,卫氏遂无封侯者。
卫青死于出击匈奴最后一次大战之后的十四年,在此期间汉朝没有再攻打匈奴,一是因为汉朝马匹缺乏,无力远攻;二是忙于讨伐南方的东越、南越和东方的朝鲜,以及攻打羌人和西南夷,因此长时间内没有再攻打匈奴。卫青共七次率军出击匈奴,前后斩获敌兵五万余,累封至一万一千八百户。三子亦封侯,每人受封一千三百户。卫青的部下因有军功而被封侯的有九人,成为将军的有十四人。
骠骑将军霍去病共六次出击匈奴,其中四次是以将军的身份,共斩获敌兵十一万有余,累封至一万五千一百户。他的部下因有功被封侯的有六人,成为将军的有两人。在《史记·卫将军骠骑列传》中,司马迁简略记载了这些将领的事迹,后来的《汉书》又为其中多人作传。司马迁提到的卫青部将有李广、公孙贺、李息、公孙敖、李沮、李蔡、张次公、苏建、赵信、张骞、赵食其、曹襄、韩说、郭昌、荀彘;霍去病部将有路博德、赵破奴等。
诗曰:古来荣利若浮云,人生倚伏信难分。始见田窦相移夺,俄闻卫霍有功勋。未厌金陵气,先开石椁文。朱门无复张公子,灞亭谁畏李将军。