汉武帝前期,在对匈奴的战斗中大获全胜,与他善选将领、鼓励养马是分不开的。匈奴号称“控弦之士三十万”,骑兵力量极其强大。汉军唯一能制约塔尔坎的就是强弓和硬弩,但汉弩虽天下第一,却不能作为主攻,只能用于防御。
为了打破这种不利局面,文帝在位时鼓励百姓养马,规定百姓一马,可以免除三人兵役。景帝开始大规模养马用于军事,到武帝即位时,军马已达45万匹。
梁武帝为了增加首都的骑兵数量,特意在南方军队中设置了一千人的祁门军和八百人的榆林军左、九百人的右骑,并挑选了擅长骑射的“六郡良家”为郎官,担任皇帝的侍卫。经常和祁门、榆林一起去打猎,培养人才,选拔将领。卫青和霍去病都出生在这里。
卫青原本是汉武帝长姐平阳公主的奴隶。因为武帝看中了他的妹妹卫子夫,把她带进宫作妾,就把卫青提升为余。霍去病是卫青的侄子,也因裙带关系而被看重。但与其他许多外戚不同的是,这两人不仅能干,而且野心勃勃,最终成为武帝北击匈奴的得力干将。
河套以南地区气候温和,适合驯马。秦末匈奴夺取后,塔尔坎经此南下,一日到达长安。所以汉武帝的第一个进攻方向就是指向并夺取河南之地,既解除了长安北的威胁,又作为进攻前线基地,对匈奴打击很大。
元朔二年(前127年)春,匈奴入侵上谷、渔阳等郡,杀死官民千余人。汉武帝利用胡骑马东进的机会,逃避现实,逃避现实。派大将卫青、李希从云中出发,沿黄河河套迂回,直指陇西。这一仗出其不意,经过匈奴右、白羊王、娄烦王的领地,最后包围了白羊、娄烦王,给了沉重的打击。
汉军大获全胜,斩首2300人,俘虏3000余人,牛羊百万余只,自身损失很小。战后,梁武帝在河南设朔方县,建朔方城(今内蒙古乌拉特前旗东南),重修被毁的秦长城。
就在汉朝由防守转为进攻的时候,匈奴内部出现了分裂。元朔三年(前126年)冬,匈奴军部尚书单于死,其弟王以智、右谷李为单于,军部尚书单于降汉。支一登上可汗宝座后,为了转移内部矛盾,更加频繁地南侵。武帝开始酝酿更有力的反击。
匈奴王、单于以下,以左、右王献最为尊贵。在此之前,汉军攻占河南大地,在右王献眼皮底下绕道而行,视若无睹。朔方县建立后,恼羞成怒的右王献多次南下,展开疯狂反击。这次攻击的目标是右王部。只要重创匈奴右王,就能把整个匈奴帝国拦腰斩断,一分为二。
元朔五年(前124年),汉军采用了牵制策略。梁武帝派大将李希、张慈公从右北平进攻,牵制东的匈奴军队。与此同时,战车将军卫青从高阙(今内蒙古朝戈旗东南)率领三万精骑,游击将军苏简、强弩将军李举、骑将龚、轻骑将军从朔方出发,总兵力为。
卫青行动非常迅速。到了幽冥的朝廷,匈奴幽冥以为汉军在数百里之外,安然沉醉。卫青发动总攻,俘虏右王献手下十余人,俘虏男女一万五千余人,物资不计其数。你王献只带了他的妾,狼狈而去。
梁武帝得到胜利的消息后,喜出望外,立即派使者带着将军的印章,在军中拜卫青为将军,命他统率各军。
攻右贤王部,砍断匈奴单于一臂,但单于主力仍完好无损。为了报复和扭转战局,伊志燮更加频繁地南侵。于是元朔六年(公元前123年)二月,第三次大规模战役开始了。
梁武帝命大将卫青率领大将龚、大将公孙贺、前将军赵信、大将苏简、大将李广、大将李举,共十余万人,从定襄出发,北上探查匈奴,希望在可汗右翼暴露的情况下一举歼灭。卫青上长城不久,被单于打得溃不成军,杀了几千人,然后回到定襄、云韵、雁门休养生息。4月,卫青再次去长城探险。由于进攻路线没有改变,他提前得到单于的命令,将左向西移动,他就可以从侧翼攻击汉军。
战斗结果喜忧参半:苏建伤亡殆尽;赵信原籍匈奴小王,战败后投降匈奴。只有卫青再次遇到匈奴主力,歼灭一万多人。
这场战斗打成了平局,但一位年轻的将军脱颖而出,给了匈奴人极大的震撼——卫青的侄子霍去病。霍去病跟随卫青北伐,率800大军数里,杀了2028人,斩首可汗的祖父若侯,俘虏了可汗的叔父罗家璧、郭襄、当湖等贵族。由于他的成就,武帝被封为状元侯——此时霍去病才18岁。
前不久,张骞首次出使西域归来,向武帝报告说:“西域各国也都在遭受匈奴的侵扰。若与他们联合,可沉重打击匈奴。”汉武帝决定向西域开放河西走廊。元寿二年(公元前121年)春,骠骑将军霍去病被派去攻打驻扎在河西的匈奴军队。
此时匈奴主力远离漠北,霍去病从陇西向西北进军,击破匈奴邪王和休屠王的人马,杀死、鲁,活捉匈奴邪王的儿子、太师,带走休屠王的朝拜者,共斩获8960余人。河西走廊被一举打开。
同年夏,汉军再次东进西出,霍去病取西线,大获全胜,但东线大败,李广遭遇匈奴左主力,几乎全军覆没。战争结束后,谢混王和休屠王,因为害怕受到可汗的惩罚,带领许多人投降了汉朝。
上次战败后,匈奴单于在赵辛集的帮助下逃离漠北,以为汉军走不远,可以暂时忍耐,积蓄力量,以便东山再起。元寿四年(前119年)春,梁武帝决定奉陪,带着强大的兵团深入漠北,寻求与匈奴主力决战。于是派大将卫青率领前将军李广、左将军公孙贺、右将军赵和后将军曹襄,以五万骑兵为主力,又派骠骑将军霍去病率定襄到漠北。
这场运动的规模很大。除了两军十万大军,编制外还有四万“私马”,辎重后面还有几十万步兵。
武帝一心想把最难啃的骨头留给霍去病。出兵前,他得到了可汗主力在东方的假情报,于是命令前方两军改变出发点和目标。但大军到了要塞后,发现可汗还在西边,于是卫青以匈奴为主力,在漠北展开决战,整天厮杀,伤亡相当大。
最后可汗筋疲力尽,连夜逃亡。卫青在坎扬山追击赵新成(今蒙古杭爱山南端),缴获大量辎重物资,余粮全部烧毁。计划前后共歼灭匈奴兵一万九千余人。
另一方面,霍去病在离开长城后立即遇到了匈奴的左王献部,并赢得了战斗。他把狼追到了旭山和古言(都在蒙古乌兰巴托以东),立了一座天坛。一共俘虏了屯头王、三人,大将、当湖、八十三人,其余七万余人。匈奴左逃了不到十分之二。
此役之后,匈奴损失惨重,再也不敢在漠南立王庭。困扰汉初近百年的北方边患基本解决。