洪武二十年(1387年),明太祖朱元璋以馮勝為征虜大將軍,傅友德、藍玉為左右副將軍,率領20萬驍勇善戰的明軍征討盤踞在遼東地區的北元太尉納哈出部。在明軍摧枯拉朽的攻勢下,納哈出扛不住了,隨后馮勝又打出了政治牌,派人前去招撫納哈出,經過仔細盤算,納哈出帶領20余萬部眾歸降大明,明軍兵不血刃攻取遼東地區,成功切斷了北元與高麗的聯系。加上此前的傅友德西征行動,明軍奪取了河西走廊,切斷了北元與西域的聯系。如此一來,大明帝國完成了對北元東、南、西三個方向的戰略合圍,大明與北元的終極一戰,勢不可免。
同年九月,朱元璋決定趁北元新敗之際,一攬子解決北元問題,朱元璋任命明軍新銳將領藍玉為征虜大將軍,唐勝宗、郭英為左、右副將軍,統率15萬明軍征討北元,目標就是北元宗室(忽必烈一系的黃金家族成員),誓要一戰定乾坤。
明軍大舉來襲的消息讓北元方面著實嚇了一跳,看明軍的架勢那是要來玩命了,北元大汗脫古思帖木兒看形勢不對,心想既然惹不起還躲不起嗎,況且手里就這么點家底,跟明軍拼命不值得。于是采取躲避戰術,即不與明軍交戰,只是派出少數騎兵利用靈活機動熟悉地形的優勢和明軍在草原上兜圈子。為了安全起見,脫古思帖木兒還把大營和主力駐扎在捕魚兒海(今貝爾湖附近)一帶。這里遠離明軍,是北元的大后方,又有沙漠阻隔,北元可以利用沙漠阻隔以逸待勞,而且此前明軍包括歷朝歷代的漢人軍隊從未涉足過這里,對明軍而已,捕魚兒海是他們攻擊極限中的極限。
脫古思帖木兒對自己的安排很是滿意,他暢想著明軍在草原上兜完圈子后一定會精疲力盡,繼而撤退,到時候自己再尾隨追擊明軍,運氣好得話還可以復制一場嶺北之戰的勝利。但命運的天平這一次沒有眷顧黃金家族,而向大明傾斜。
洪武二十一年(1388年)四月,藍玉擺脫了北元游騎襲擾,并從俘虜口中獲悉北元主力的位置和捕魚兒海的具體情況。藍玉召集軍中諸將會商下一步安排,軍中皆言大軍遠征在外半年,后勤保障困難,捕魚兒海距離遙遠,一旦情報有誤,大軍將陷不測之地。但藍玉則力排眾議,認為這是聚殲北元主力的天賜良機,一旦錯過將釀成大禍。隨后,藍玉下達了向捕魚兒海進軍的作戰命令,明軍將士更是人不卸甲、馬不離鞍,兼程而進。
明軍行軍至北元在捕魚兒海大營80里處,突刮沙塵暴,漫天的沙塵遮蔽了視線,藍玉利用沙塵暴的掩護,率軍突襲北元大營。由于實在想不到明軍會來的這么快,更沒想到明軍會在這該死的天氣進攻,明軍的突襲徹底打亂了北元的部署,慌亂中,數千蒙古騎士成為明軍的刀下亡魂,余者皆向明軍請降。明軍俘虜北元軍隊七萬七千余人,繳獲戰馬四萬七千匹,以及其它物資無算。
捕魚兒海之戰使得北元主力遭到了毀滅性打擊,大批皇室成員被明軍俘虜,其中北元大汗脫古思帖木兒的后妃及次子地保奴、公主以及各類達官貴人總共有3000人皆成明軍的階下囚。只有脫古思貼木兒及其長子天保奴等少數人逃過一劫。但不久后,脫古思貼木兒及其子天保奴在逃亡途中被阿里不哥(元朝開國皇帝忽必烈的弟弟,當年因為與忽必烈競爭蒙元帝國最高權力失敗被殺)的后裔也速迭兒所殺。至此北元徹底滅亡,黃金家族的輝煌時代一去不復返。
捕魚兒海之戰后,蒙古草原上分裂成瓦剌、韃靼、兀良哈三部,他們都不再尊黃金家族為宗主,為了草原的霸權開始了互相攻擊,曾經雄霸天下的蒙古帝國再也不復存在。