大将军卫青麾下,李广为前将军,公孙贺为左将军,赵食其为右将军,曹襄为后将军。卫青考虑到前将军李广年纪已高、运气又不好,就没让他担任先锋,而是与右将军赵食其两军合并,从右翼进行包抄。卫青自己率左将军公孙贺、后将军曹襄从正面进兵,直插匈奴单于驻地。
赵信向伊稚斜单于建议:“汉军不知道厉害,竟打算穿过沙漠。到时候,人困马乏,我们以逸待劳,就可以俘虏他们。”于是下令所有的粮草辎重,再次向北转移,而把精锐部队埋伏在了沙漠北边。
卫青大军北行一千多里,跨过大沙漠,与严阵以待的匈奴军遭遇了。卫青临危不惧,命令部队用武刚车(铁甲兵车)迅速环绕成一个坚固的阵地,然后派出5000骑兵向敌阵冲击。匈奴出动一万多骑兵迎战。双方激战在一起,非常惨烈。黄昏时分,忽然刮起暴风,尘土滚滚,沙砾扑面,顿时一片黑暗,两方军队互相不能分辨。卫青乘机派出两支生力军,从左右两翼迂回到单于背后,包围了单于的大营。伊稚斜单于发现汉军数量如此众多,而且人壮马肥,士气高昂,大为震动,知道无法取胜,就慌忙跨上马,在数行精骑的保护下奋力突围。向西北方向飞奔而去。
这时,夜幕已经降临,战场上双方将士仍在喋血搏斗,喊杀声惊天动地。卫青得知伊稚斜单于已突围逃走,马上派出轻骑兵追击。匈奴兵不见了单于,军心大乱,四散逃命。卫青率大军乘夜挺进。天亮时。汉军已追出二百多里,虽然没有找到单于的踪迹,却斩杀并俘虏匈奴官兵 19000多人。卫青大军一直前进到真颜山赵信城(今蒙古乌兰巴托市西),获得了匈奴屯积的粮草,补充军用。他们在此停留了一天.然后烧毁赵信城及剩余的粮食。胜利班师。
霍去病率领的东路军,北进两千多里,与匈奴左贤王的军队遭遇。经过激战,俘获了匈奴三个小王以及将军、相国、当户、都尉等83人,消灭匈奴七万多人。左贤王败逃而去。
这次战役,汉军打垮了匈奴的主力,使匈奴元气大伤。从此以后,匈奴逐渐向西北迁徙,出现了“漠南无王庭”,匈奴对汉朝的军事威胁基本上解除了。