公元87年,居住在匈奴东部地区的鲜卑人乘北匈奴内乱之机,对北匈奴发起进攻,将北匈奴军打败并杀死优留单于。鲜卑是原东胡人的一部分,在匈奴冒顿单于打败东胡后,一部分东胡人逃到大鲜卑山(今大兴安岭),史称这部分人为鲜卑人。
优留单于被鲜卑人杀死后,北匈奴因争夺单于位发生大乱,其屈兰、储卑、胡都须等58个部落,共计20多万人南下汉王朝的公中、五原、朔方、北地等郡向汉王朝投降。北匈奴实力又受到极大的削弱。
南匈奴屯屠何单于见北匈奴战乱,且连遭饥荒,便想借机出兵消灭北匈奴,重新统一匈奴。于是,他便上书汉朝天子请求共同出兵进攻北匈奴。此时汉章帝刚刚去世,由汉和帝继位。汉和帝年仅10岁,由窦太后掌管朝政。
窦太后有一弟弟名窦宪,曾被汉章帝委以虎贲中郎将(皇宫卫戍部队将领)的重任。汉章帝死后,都乡侯刘畅乘奔国丧之机,暗中与窦太后私通。窦宪怕其与自己争权,派人将其杀死。窦太后闻知此事,将窦宪囚禁于宫中。恰在此时,南匈奴单于屯屠何奏请汉王朝一起出兵攻打北匈奴。窦宪认为自己立功赎罪的机会到了,便向窦太后请求带兵与南匈奴一起攻打北匈奴。窦太后同意了窦宪的请求。
公元89年,窦太后以窦宪为车骑将军,与副将耿秉各率4000骑兵,会同南匈奴左谷蠡王师子的10000骑兵,由朔方郡的鸡鹿寨北进;南匈奴屯屠何单于率手下10000多骑兵从满夷谷(今内蒙古固阳县境)北上;度辽将军邓鸿及缘边率8000羌人骑兵,与南匈奴左贤王统率的10000多匈奴骑兵从稠阳塞(今内蒙古包头地区)出发北进。
三路###北匈奴大军在涿邪山会合。窦宪派耿谭等三将率10000精骑为先锋,继续北上,寻找北匈奴主力作战。
当大军行至稽落山时(今蒙古吉瓦察汗岭西北)时,与北匈奴单于统率的北匈奴主力部队遭遇。双方展开激烈战斗,北匈奴军渐渐不支,大败逃走。汉匈联军猛烈追击,追击至私渠比革是海(今蒙古境内察干湖),大获全胜,共计斩杀13000多人,俘获马牛羊等牲畜近百万只。北匈奴共有81个部落的近20万人前来归降。
窦宪决定绝不给北匈奴单于喘气的机会,派兵向北单于穷追不舍。军司马吴汜在追击北单于的途中,又有10000多北匈奴军前来归降。汉军进至西海(今蒙古杜尔格湖)才追上北单于;吴汜向其表明只要其臣服汉朝,并不想将其消灭。北单于表示愿意向汉王朝称臣,于是,随吴汜等率军回归大营。到达私渠比革是海地带时,得知汉及南匈奴军主力已班师回朝,北单于便派其弟右温禺革是王入朝。
窦宪见北匈奴单于未亲自入朝,怀疑北单于投降的诚意,上奏朝廷将右温禺革是王退回。窦宪再次准备对北匈奴的战争。公元90年5月,窦宪派副校尉阎盘率2000骑兵进攻西域伊吾卢地区的北匈奴军,将这部匈奴军队打败,占领了伊吾卢地区。