西汉前期,对匈奴实行羁縻政策,主要是汉匈“和亲”政策;可是这时的匈奴一再南侵,曾火烧汉之回中宫(在今陕西陇县),“烽火通于甘泉、长安。”迫使文、景二帝一面继续执行与匈奴“和亲”政策;一面储备军粮,增殖马匹,训练士卒,准备反击匈奴。
汉武帝即位以后,于元光二年(前133年)开始对匈奴进行战争。从元朔元年(前128年)到元狩四年(前119年)的十年中,共有大战三次。第一次大战是在元朔二年。这年,匈奴以二万骑入侵,杀汉辽西太守。汉使将军卫青以三万骑击匈奴,收复了河南地(今内蒙古伊克昭盟),设朔方、五原郡,解除了匈奴对首都长安的威胁。第二次大战是在元狩二年(前121年),由将军霍去病率数万骑北击匈奴,出陇西、北地,深入匈奴二千余里,夺得祁连山和河西走廊,汉在这里设置了酒泉、武威,后又增置张掖、敦煌,为河西四郡。匈奴退出河西走廊,编了一首怀恋河西的歌曲,词曰,“亡我祁连山,使我六畜不蕃息;失我焉支山,使我妇女无颜色。”汉夺得河西走廊,隔断了匈奴与羌人的联系:又为汉通西域开辟了重要通道。
第三次大战是在元狩四年(前119年)。匈奴各以数万骑入侵右北平和定襄郡,杀略惨重。武帝以卫青出定襄,霍去病出代郡,各将骑五万,步兵数十万,另有志愿从征者四万匹马,粮食辎重还不计在内。卫青大破单于军,北至寘颜山赵信城(今蒙古杭爱山南)而还。霍去病出代郡二千余里,大破左贤王军,至狼居胥山(今蒙古乌兰巴托东),临翰海(今呼伦湖与贝尔湖)而还。从此,匈奴北徙漠北。汉自朔方,西至令居(今甘肃永登),以六十万吏卒屯田,加强防守。
汉匈战争,汉损失士卒数万人,马十余万匹,无力再进行大规模的战争。匈奴也损失惨重,后分裂为五部,互相攻杀。其中的一部首领为呼韩邪单于,投降汉朝,南徙于长城一带,要求与汉和亲。公元前33年,呼韩邪单于到长安,汉元帝以宫人王嫱(字昭君)嫁与呼韩邪单于,号宁胡阏氏(单于妻);元帝亦改年号为“竟宁”。汉、匈从此友好相处。王昭君在中原的兄弟和她在匈奴生的子女及其后裔,有三代人在为汉匈之间的和平友好而工作。汉、匈在四十多年间没有发生战争。直到东汉初年,王昭君的弟弟还以和亲侯身份代表东汉政府出使匈奴。匈奴的其他各部有的仍居漠北,与汉亦有往来;有的向西迁徙,到今新疆北部和中亚一带。
汉、匈在战争间歇之时,一直有互市关系。“昭君出塞”后,汉、匈关系密切,促进了匈奴的经济、文化的发展。在今包头市附近出土的“单于和亲”砖,文曰:“单于和亲,千秋万岁,安乐未央”。可能是这一时期的遗物。在匈奴地区出土的很多汉制丝织品、汉式铜鼎、铁剑、漆器、陶器等与匈奴的“鄂尔多斯”式的文化,如蝴蝶展翼状短剑、弧背铜刀、透雕动物形象的铜饰牌等共存,这也证明了汉、匈民族和睦相处与文化交流的情况。

