明朝击败元朝统一关内之后,朱元璋并未放松其进军的步伐,首先在西北、西南与东北的一系列军事行动孤立了北元在塞外日削月割的地盘,也为夺取元明战争的全面胜利铺平了道路。1387年(洪武二十年,天元九年)九月,再接再厉的朱元璋任命蓝玉大将军,唐胜宗、郭英为左、右副将军,率领十五万大军出塞,作战目的是彻底歼灭北元小朝廷。此时明军最可怕的对手王保保已经于1375年(洪武八年,宣光五年)在蒙古草原撒手人寰。而王保保的手下的名将贺宗哲也在风云变幻的日子里下落不明,由于这一段时间里王保保部队没有参与过较大规模的战争,因而贺宗哲很有可能是病死才在各种史籍中销声匿迹的。
王保保死后,军中最具声望的是他的弟弟脱因贴木儿。脱因贴木儿统率着那支由察罕贴木儿一手缔造的军队,继续保卫着北元小朝廷。不过,北元军引以为豪的铁骑不再具备往日的风采,原因是后勤补给能力一日不如一日。蒙古本地的冶铁业规模有限,非常依赖从外地输入铁器。然而明朝严禁铁制品输出塞外,导致北元只能和西域等边陲地区的商人进行贸易,由于路途遥远,仅能起到杯水车薪的作用。北元军战损与自然消耗的铁制军械得不到及时的补充,不但铁甲越来越少,连不少铁箭的箭头也改用动物的骨髂制造,战斗力大减。铁制品缺乏的程度日益严重,到后来,在蒙古的牧民之中,甚至煮饭的铁镬也成为珍罕品。
双方的实力此消彼长,明军的优势日益明显。第二年年初,明军前线统帅部获得了重要的情报,知道北元小朝廷游牧到喀尔喀河、贝尔湖、克鲁伦河一带。机不可失,蓝玉在同年三月亲率大军由大宁(今内蒙古宁城一带)进至庆州(今内蒙古巴林左旗西北),一路搜索前进,终于把目标锁定在一个名叫“捕鱼儿海”的地方。所谓的“捕鱼儿海”,即是贝尔湖的古名。当初元太祖成吉思汗按照蒙古游牧贵族的传统分封亲族时,将兀鲁灰河等地(相当于现在的乌珠穆沁旗一带)封给了同母弟哈赤温的后裔。而邻近的捕鱼儿海亦应该是哈赤温后裔的势力范围。北元小朝廷以“捕鱼儿海”为栖身之地,这表明哈赤温的后裔仍然忠于大汗脱古思贴木儿。
将士们“人不卸甲、马不离鞍”,从间道兼程而进,于四月九日,来到游魂南道,却在此地找不到水源,一时饥渴难奈。关健时刻,“带路党”能起到特殊的作用,归顺的蒙古军官观童凭着多年来在塞外的生活经验于营地附近发现了一处泉水,为全军排忧解难,解了燃眉之急。克服重重障碍的蓝玉于十一日到达距离捕鱼儿海尚有四十余里百眼泉,却突然间侦察不到敌军的影踪,失去了任何线索。他一度判断错误,以为敌人嗅到了什么蛛丝马迹而躲藏得无影无踪,想从这个环境恶劣的地方退兵。但他很快在定远侯王弼的劝阻之下改变了主意,决定在留在原地再坚持一下,看看有什么新发现。为了不打草惊蛇,蓝玉下令官兵在地上挖洞煮饭,以免大量浓烟直上云宵而被敌哨兵望见。
次日黎明,明军搜索到了捕鱼儿海的南岸,但此地空无一人,部队停了下来。“少憇饮马”。好消息突然来临,蓝玉从巡逻骑兵那里得到情报,确定北元小朝廷在捕鱼儿海东北方向八十余里之外,便马上下令求战心切的王弼为先锋,“衔枚卷甲”,直扑其营。 脱古思贴木儿与身边的臣子们自以为明军不熟悉地形,难以找到水源的位置,决不会这么快杀到,因而防备疏松。宿营之地里面的士卒正在牵马备鞍,整理辎重,把一大批车辆的车头都转向北方,准备转移。偏偏在这个时候扬起了大风,沙尘满地,白昼如晦,对明军起到了很好的掩护作用。王弼提着双刀带兵神不知鬼不觉地悄悄接近,发起突然袭击。骤不及防的北元军队来不及列阵,在混乱中死了数千人,另外有七万七千多人与四万七千匹战马被俘。此外,成为明军战利品的还有四千八百四十头骆驼、十一万二千四百五十二头牛羊、三千余辆各式车辆以及一大批后勤辎重。
北元小朝廷直属的中央禁卫军中的两员悍将,曾经参加过和林保卫战的太尉蛮子与太师哈剌章竭尽全力抵抗。其中蛮子被郭英当场挥刀杀死,而哈剌章的大营亦在十多天后被蓝玉击破,所部“一万五千八百三户”与“马驴四万八千一百五十余匹”被俘,哈剌章本人下落不明。这两个元朝老臣子昔日在和林并肩作战,死中求生,现在却在捕鱼儿海劫数难逃。中央禁卫军作为北元正规军的主力,终于在这次决战中基本上被明军全歼。而北元地方部队的主力脱因贴木儿所部也是螳臂当车,逃脱不了全军尽灭的命运。脱因贴木儿逃跑时坠于马下,不得不潜伏在草丛之间,但最终未能躲过明军将士的搜捕。此后,各种史料再也没有王保保旧部的任何记载,由此可知,这支依靠镇压红巾军起家的部队已经在捕鱼儿海与北元小朝廷一起完蛋。
皮之不存,毛将焉附!北元主力既然遭到了毁灭性的打击,而北元朝小朝廷也未能幸免于难。大批皇室成员身陷囹圄,这些人员包括已故君主爱猷识理达腊的妻子、现任君主脱古思贴木儿的后妃及次子地保奴、公主等,成为阶下囚的各类达官贵人总共有二千九百九十九人。值得一提的是,明军还在捕鱼儿海俘虏了北元吴王朵儿只。朵儿只是成吉思汗同母弟哈赤温的后裔。他在世袭的封地上被俘,意味着成吉思汗亲自分封的哈赤温汗国遭到了毁灭性的打击。只有脱古思贴木儿、太子天保奴以及少数随从坐着数十匹战马乘乱逃出了包围圈。明军出动精骑追击千余里,都督余通渊所部一直打到了克鲁沦河,因追之不及,方才撤了回来。战斗结束后,蓝玉为了以防万一,下令那些披挂着铠甲的俘虏兵一律把它们从身上除下来。这样一来,各类铁甲、皮甲在地上堆成了一座座小山。明军一一放火焚毁,而蒙古铁骑的威名也伴随着各种盔甲在熊熊的火焰之中烟消云散,化为乌有。但这绝不等于历史悠久的蒙古骑兵从此销声匿迹,这支被打散了的游牧军队能否东山再起有待后人。明军放了这把冲天大火之后,遂班师。