在公元前201年,韩网信被迫降于匈奴。次年刘邦亲率32万大军亲征,在白登,如今山西大同东北地区,被产于的40万骑兵围困了7个昼夜,最终用计突围了出去。汉惠帝,吕太后忍受冒顿单于挑衅,继承汉高祖的无为而治、与民休息生养。汉文帝、汉景帝时,汉匈边境时有摩擦,但文景之治,大汉国力迅速发展。汉武帝时,马邑之战仓皇结束,是匈奴败亡的第一声丧钟。 汉武帝时,西汉经过近70年的休养生息,经济、国力大大增强,对匈奴从战略防御转为战略进攻,发动了三次大战:河南之战(也称漠南之战)、河西之战、漠北之战。此时正为伊稚斜单于在位时期。 公元前121年,汉武帝派霍去病夺取河西走廊,受降匈奴右部十万人,设武威、酒泉、敦煌、张掖四郡公元前119年,卫青、霍去病率五万骑兵分两路出击,卫青击溃单于,霍去病追歼左贤王7万余人,封狼居胥。两军共歼灭匈奴军9万余人,使其一时无力渡漠南下。 公元前73年匈奴转攻西域的乌孙以索要公主(即西汉嫁给乌孙王的解忧公主),乌孙向汉求救,汉朝组织五路大军十几万与乌孙联兵进攻匈奴。公元前71年汉朝再次联兵二十几万合击匈奴,大获全胜,直捣右谷蠡王庭,同年冬,匈奴出动数万骑兵击乌孙以报怨,适逢天降大雨雪,生还者不足十分之一。 丁零北攻,乌桓入东,乌孙击西,匈奴元气大伤,被迫向西迁徙以依靠西域,西域再次成为双方以争夺重点双方反复激烈争夺车师之际,公元前60年,匈奴内部因掌管西域事务的日逐王先贤掸与新任单于屠耆堂争夺权位发生冲突。日逐王降汉,匈奴被迫放弃了西域,汉完全控制了西域,匈奴实力大减,己无力扰汉。 公元73年二月汉派窦固等四路大军出击,占据伊吾卢城(今新疆哈密)。同年,派班超通西域南路鄯善国。公元75年至公元76年汉匈之间对西域展开了一场争夺战,窦固、耿恭击败呼衍王和左鹿蠡王,占车师、争夺金满城,因汉明帝死,中原大旱,人民负担太重,暂时罢兵公元83年至85年北匈奴人先后有七十三批南下附汉,加上南匈奴攻击,北匈奴力量大大削弱。 公元89年,夏六月开始,窦宪、耿秉率汉军与南匈奴军队在涿邪山会合(今蒙古国满达附近),与北单于战于稽落山(今蒙古国额布根山)北单于大败逃走,汉军追击,俘杀一万三千余人,北匈奴先后有二十余万人归附。窦宪、耿秉登燕然山(今蒙古国杭爱山)刻石纪功而还(燕然勒功)90年再出击北匈奴,北单于受伤逃走。 公元91年,汉军又出击金微山(今阿尔泰山)大败北匈奴军,北单于被迫西迁,率残部西逃乌孙与康居。公元94年,南匈奴单于师子立。新降的北匈奴部众对单于师子不服,在同年,十五部二十几万人皆叛变,胁迫前单于屯屠何之子奥鞬日逐王逢侯为单于,匈奴再次分裂,汉朝廷派遣大军以及乌桓、鲜卑兵共四万人大败逢侯,逢侯遂率众出塞,汉军追赶不及107年,逢侯趁汉朝放弃西域之际,控制西域,胁迫诸国共同搔扰汉朝边疆十几年。 公元118年,逢侯被鲜卑击败,率领百余人投靠大汉帝国。公元91年北单于战败后,率残部西逃至伊黎河流域的乌孙国,在其立足后,仍然出没于天山南北,实施掠夺。公元119年,北匈奴攻陷了伊吾,杀死了汉将索班。 为了对付西域的北匈奴,汉朝廷任命班勇为西域长史,屯兵柳中班勇于公元124年、126年两次击败北匈奴,西域的局势开始稳定在班勇离职后,北匈奴势力又重新抬头,汉将裴岑于公元137年率军击毙北匈奴呼衍王于巴里坤。公元151年,汉将司马达率汉军出击蒲类海大汉击败北匈奴新的呼衍王,呼衍王率北匈奴又向西撤退。 百年汉匈之战,汉人吃的败仗也不少,尤其是汉武帝后期,几次大规模远征匈奴都失败了,损兵折将,但是匈奴人虽然大胜,但战争发生在匈奴境内,对匈奴整个游牧生产方式造成了严重的影响,匈奴的牲畜繁殖受到极其重要的打击,汉武帝在汉朝国内形式严峻的情况下对匈奴保持了连续不断的攻击,以大汉的国力拖垮了匈奴。