元朔三年夏,数万骑兵攻代郡,杀太守共友,掳掠千余人。同年秋季入雁门,杀掠千余人。元朔四年匈奴又使各三万骑攻入代郡、定襄、上郡。
元朔五年春,朝廷命令车骑将军卫青率领三万骑兵,从高阙出兵;命令卫尉苏建做游击将军,左内史李沮当强弩将军,太仆公孙贺当骑将军,代国之相李蔡当轻车将军,他们都隶属车骑将军卫青,一同从朔方出兵;朝廷又命令大行李息、岸头侯张次公为将军,从右北平出兵。
他们全都去攻打匈奴。匈奴右贤王正对着卫青等人的大兵,以为汉朝军队不能到达这里,便喝起酒来。
晚上,汉军来到,包围了右贤王;右贤王大惊,连夜逃跑,独自同他的一个爱妾和几百个精壮的骑兵,急驰突围,向北而去。
轻骑校尉郭成等追赶了几百里,没有追上。
汉军俘虏右贤王的小王十余人,男女1。5万余人,牲畜达千百万头。
汉武帝接到战报,派特使捧着印信,到军中拜卫青为大将军,加封食邑6000户(汉书8700户),所有将领归他指挥。
卫青的三个儿子被汉武帝封为列侯。长子卫伉为宜春侯,次子卫不疑为阴安侯,幼子卫登为发干侯,均食邑1300户。
汉武帝随后又封赏了随从卫青作战的公孙敖、韩说、公孙贺、李蔡、李朔、赵不虞、公孙戎奴、李沮、李息、豆如意等。
元朔六年春、夏,卫青为大将军两次领十万骑兵出击匈奴。
歼灭匈奴军过万。
二月,以公孙敖为中将军,公孙贺为左将军,赵信为前将军,苏建为右将军,李广为后将军,李沮为强弩将军,分领六路大军,统归大将军卫青指挥,浩浩荡荡,从定襄出发,北进数百里。
战后全军返回定襄休整,一个月后再次出塞,斩获匈奴军一万多人。
张骞随从大将军出征,获封张骞为博望侯。
卫青的外甥霍去病此战独自领八百骑出击,俘虏匈奴单于的叔父和国相,斩单于的祖父等2028人,封冠军侯。
元狩四年春,汉武帝以十四万匹战马及五十万步卒作为后勤补给兵团,授与卫青与霍去病各率领五万骑兵,步兵和运输物资的军队十万余,兵分两路,跨漠长征出击匈奴。
汉军原计划由霍去病先选精兵攻击单于主力,卫青打击左贤王。后从俘获的匈奴兵口中得知伊稚斜单于在东方,两军对调出塞线路,霍去病东出代郡,卫青西出定襄。
而卫青大军出塞一千多里,却与匈奴单于主力遭遇。
卫青命前将军李广和右将军赵食其两军合并,从右翼进行包抄。自率左将军公孙贺、后将军曹襄从正面对抗单于主力。
卫青下令让武刚车排成环形营垒,又命五千骑兵纵马奔驰,抵挡匈奴。
匈奴也有大约一万骑兵奔驰而来。
恰巧太阳将落,刮起大风,沙石打在人们的脸上,两军都无法看见对方,汉军又命左右两翼急驰向前,包抄单于。
单于看到汉朝军队很多,而且战士和战马还很强大,若是交战,对匈奴不利。
因此,在傍晚时单于就乘着六头骡子拉的车子,同大约几百名壮健的骑兵,径直冲开汉军包围圈,向西北奔驰而去。
这时,天已黄昏,汉朝军队和匈奴人相互扭打,杀伤人数大致相同。
汉军左校尉捕到匈奴俘虏,说单于在天未黑时已离去,于是汉军派出轻骑兵连夜追击,大将军的军队也跟随其后。
匈奴的兵士四散奔逃。
直到天快亮时,汉军已行走二百余里,未追到单于,俘获和斩杀敌兵一万九千余人,到达了窴颜山赵信城,获得匈奴积存的粮食以供军队食用。
汉军留住一日而回,把城中剩余的粮食全部烧掉才归来。
大军回营时才遇到迷路失期未来支援的李广赵食其部。
漠北之战击溃了匈奴在漠南的主力,逐渐向西北迁徙,十几年内再无南下之力。
而汉军损失也很大,出征的14万马匹仅三万余匹返回。
汉军士兵、马匹损失十几万,兵器甲仗等物水陆运输的费用还都不计算在内,于是倾尽库藏钱和赋税收入仍不足以供给战士的费用。汉武帝设置武功爵,以筹集军费。
汉武帝为表彰卫青、霍去病的战功,特加封他们为大司马,得以管理日常的军事行政事务,以代太尉之职。