又过了一年(公元前120年),皇上和各位将领商议说:“翕侯赵信为单于出谋划策,常常认为汉朝军队不能越过沙漠轻易停留,现在我们大规模发兵,一定能实现我们的愿望。”这一年是元狩四年。
春天,皇上命令大将军卫青、骠骑将军霍去病各率领五万骑兵,跟随在后面转运物资的步兵有几十万人,而那些敢于奋力作战深入敌境的士兵都隶属于霍去病。霍去病开始时从定襄出兵,准备迎战单于。捕获俘虏后,俘虏说单于在东边,于是又改令霍去病从代郡出兵,令卫青从定襄出兵。
郎中令李广任前将军,太仆公孙贺任左将军,主爵赵食其任右将军,平阳侯曹襄任后将军,他们都隶属于大将军卫青。
赵信为单于谋划说:“汉朝军队如果越过沙漠,人马疲惫,我们匈奴就可以坐等着收取俘虏了。”于是把他们的辎重全部远远地运到北方,只把精锐部队部署在沙漠以北等待汉军。而恰好卫青的军队出塞一千多里,看到单于的军队列阵等待,于是卫青命令武刚车环绕起来结成营垒,然后派出五千骑兵前去冲击匈奴,匈奴也派出一万骑兵。正赶上太阳将要落山,大风刮起,沙石打在人脸上,两军互相看不见,汉军又增派左右两翼包抄单于。单于看到汉军人数众多,而且兵强马壮,交战对匈奴不利,傍晚时,单于就乘着六匹骡子拉的车,带着几百名精壮骑兵,径直冲破汉军的包围向西北方向逃去。黄昏时,汉军和匈奴人相互搏斗厮杀,伤亡大致相当。汉军左校尉捕获俘虏,说单于在天黑之前就已经逃走了,汉军于是派出轻装骑兵连夜追击单于,卫青也率领大军跟在后面。匈奴的士兵也四处逃散。等到天亮时,汉军追了二百多里,没有追上单于,不过捕获并斩杀了一万多匈奴人,于是到达了窴颜山的赵信城,得到了匈奴囤积的粮食来供给军队。军队停留了一天后返回,把城中剩余的粮食全部烧毁才回去。
卫青与单于交战的时候,前将军李广、右将军赵食其的军队另外从东路进军,有时迷失了道路。大将军卫青收兵返回,经过沙漠南部时,才和他们相遇。卫青想派使者回去向皇上报告情况,便命令长史按照文书所列罪状责问李广,李广自杀了。赵食其赎罪成为平民。卫青的军队进入边塞,一共斩杀和俘虏了一万九千名匈奴人。
这个时候,匈奴人失去单于有十多天,右谷蠡王自立为单于。后来单于又找到了他的部众,右谷蠡王才去掉了单于的称号。
霍去病的骑兵、辎重车和大将军卫青的军队相当,但没有副将。他把李敢等人都任命为大校,代行副将的职责,从代郡、右北平出兵二千多里,直接攻击匈奴左方的军队,所斩杀和捕获敌人的功劳已经超过了卫青。
等他们都班师回朝后,皇上说:“骠骑将军霍去病率领军队,亲自带着所缴获的匈奴士兵,轻装简从,越过沙漠,捉到了单于的近臣章渠,诛杀了北车耆王,转而攻击匈奴左大将,缴获了军旗和战鼓,经过难侯山,渡过弓卢水,抓获了屯头王、韩王等三人,将军、相国、当户、都尉等八十三人,在狼居胥山祭天,在姑衍山祭地,登上翰海,捉到和杀死的匈奴有七万零四百四十三人,军队减员十分之二,从敌人那里获取粮食,行军特别远却能不断粮。加封霍去病食邑五千八百户。右北平太守路博德隶属于骠骑将军,在兴城会师,没有误期,跟随到梼余山,斩杀和捕获敌人二千八百人,封路博德为邳离侯。北地都尉卫山跟随骠骑将军捕获了匈奴王,封卫山为义阳侯。原归义侯因淳王复陆友、楼剸王伊即靬都跟随骠骑将军立有战功,封复陆支为杜侯,伊即靬为众利侯。从票侯赵破奴、昌武侯赵安稽跟随骠骑将军立有战功,各加封食邑三百户。渔阳太守解、校尉李敢都缴获了军旗战鼓,赐给他们关内侯的爵位,解食邑三百户,李敢二百户。校尉徐自为封爵位为左庶长。”军中的官吏和士兵被封官的,得到的赏赐非常多。而卫青没有得到加封食邑,他的部下官吏和士兵也没有被封侯的。只有西河太守常惠、云中太守遂成受到了赏赐,遂成的官秩升为诸侯相,赐给食邑二百户,黄金一百斤,常惠被封为关内侯。
卫青和霍去病两支军队出塞的时候,边塞上检查官府和私人的马匹共有十四万匹,而回来进入边塞的不到三万匹。于是设置了大司马的职位,大将军、骠骑将军都成为大司马。制定法令,让骠骑将军的官阶和俸禄与大将军相同。从此以后,卫青的权势一天比一天衰落,而霍去病日益显贵。卫青的旧友和门下宾客大多离去,去侍奉霍去病,这些人往往能得到官爵,只有任安不肯离去。
霍去病为人话少,不轻易泄露别人的话,有气魄,敢作敢为。皇上曾经想教他孙武、吴起的兵法,他回答说:“看谋略怎样罢了,不必学习古代兵法。”皇上为他修建府第,让他去看看,他回答说:“匈奴不消灭,就没有心思考虑自己的家。”因此皇上更加看重和喜爱他。然而他从小就担任侍中,身份尊贵,不关心士兵。他率军出征时,皇上派太官送给他几十车食物,回来时,辎重车上丢弃了许多剩余的精米肥肉,而士兵中却有挨饿的。在塞外作战时,士兵缺乏粮食,有的甚至饿得站不起来,而霍去病还开辟场地踢球。类似的事情有很多。卫青为人仁慈善良,爱护士兵,遇事退让,用温和柔顺的态度取悦皇上,然而在天下人中间却没有什么称赞他的。