永樂帝對蒙古族實施了多次作戰,屢屢親征。但他並不是光憑借武力。在平定遼東後,明在吉林設立女真族的建洲衛。女真族也被編入明軍中,被期待能夠從側面給蒙古壓力,使北方國界穩定。
對女真族的懷柔方法是,給各部族首領以敕書。如果持有這個,就可以以朝貢的形式進行貿易。女真族進貢毛皮和高麗參,從明獲得紡織品及其他日用品後回去。連女真族的產業和生活也被納入明朝體制內了。另外,女真族是文殊菩薩的信徒,其中一派稱呼自己為「文殊徒」。因不敢直接用菩薩名文殊,故用發音相近的漢字「滿洲」。女真族的一派從此時起,就開始自稱滿洲。
被趕出中原的蒙古族分裂為瓦剌和韃靼兩個集團。此外還有個叫兀良哈的集團。這支特殊的蒙古族沒有辮發習慣,從洪武帝時代起就服屬明。不過,瓦剌逐漸得勢,在英傑脫歡的領導下,蒙古族不斷走向統一。服屬於明的兀良哈也不知何時歸屬了脫歡。脫歡死後,他的兒子也先以比他父親還高明的統率力,繼承了統一事業。遊牧民中最先考慮的是實際利益,人們之所以聚集在也先麾下,是因為有好處可拿。成吉思汗和帖木兒都是這樣而擁有極大勢力的。
瓦剌也從與明的朝貢中獲益,這增強了也先的實力。瓦剌的朝貢物品是馬。幾萬頭到十萬頭的馬被賣給明,明以數倍於行情市價的金額進行交易,還把值錢的東西恩賞給使節團每個人。這可以說是宋對遼、金實行的歲幣的變形,是在用金錢買和平。
對明來說,瓦剌使節團的規模越小越好,但也先已經擁有強大的實力,因此使節團規模也隨之變大。最初定為五十名,但也先擅自增加數量,還虛報使節團人數。正統十三年(1448)的使節團為兩千五百人,其中一千人是虛報。對此,王振把恩賞限定在使節團的實際人數上,把馬的價格還價到瓦剌提出的五分之一。
也先知道這件事後大怒。虛報是慣例,此前一直被默認,而且馬匹價格被砍得太狠了。為了讓明知道馬市是和平的代價,也先動員大軍,東起遼東西至甘肅,一同向明朝邊境進擊。
王振勸英宗親征。軍中將領反對說,派一邊將就足以制服也先,但英宗聽從了王振所言。英宗率五十萬大軍,把紫禁城甩在身後。如果出了居庸關(北京西北六十公里)就算是親征,因此有意見想讓英宗就此歸還,但王振不聽。他似乎覺得,要是展示了這五十萬大軍,瓦剌就會害怕得撤走。不過,在從已經跑到大同的宦官同伴郭敬那裡聽到瓦剌軍攻擊之猛烈以後,他終於掛念起要回北京了。郭敬是監軍,在陽和(山西省)慘敗,躲在草叢中,九死一生地逃了回來。
在回北京的時候,這支五十萬的大軍一度前往東南,後應王振的命令向北,選擇了經宣府(河北省)的路線。如果去東南,就是王振的出身地蔚州(河北省)。蔚州正臨近收割莊稼的時候。如果五十萬大軍通過,故鄉的農作物就會受到損害吧。為了避免這一情形而變更了路線,誰也沒什麼好說的。兵將們因為這次迂迴而疲勞不堪,而且經由靠北的宣府路線,距離瓦剌的勢力範圍非常近。五十萬大軍的動靜很大,必然會被瓦剌方捕捉到。瓦剌軍襲擊並擊潰了明軍的後尾,越追越近。次日,明軍抵達土木鎮。軍眾準備進入十公里前的懷來城(河北省),王振卻以輜重隊尚未到達為由,決定在營寨中等待。輜重隊應該是運送了王振的什麼重要東西吧。第三天,瓦剌軍包圍土木。明軍掘地兩丈都不出水,而在缺水情況下的閉門死守是不可能的。五十萬明軍在這裡慘敗。沒有比這更慘的大敗北。
王振在亂軍之中被殺。英宗一片茫然,正坐在草原上的時候,成了瓦剌的俘虜。城市陷落後皇帝做了俘虜的,歷史上有北宋徽宗和南朝的陳等先例,但在野戰中被抓獲的皇帝前無古人後無來者,只有英宗一人。聽到土木戰敗的消息後,北京的皇太后命令英宗的弟弟郕王朱祁鈺代理監國,接著即位,次年改元景泰。英宗有個兒子叫朱見深,但要讓三歲的幼帝渡過這次危機簡直不可想像。不過,景泰帝還是立了哥哥的兒子朱見深為皇太子。
鼓動皇帝親征的責任人王振被滅族,六十餘庫金銀、一百玉盤等財產被沒收,黨羽也被肅清。也先以英宗為人質,想跟明締結對己有利的條約,但因景泰帝的即位而落空。瓦剌見明採取了放棄英宗的姿態,又出兵包圍了北京,但因兵部尚書于謙的堅守,也先只好解圍退兵。
也先很著急。要是一直這樣失去馬市的利益,他的統率力就會降低。而且明一直在推動他姐夫脫脫不花的朝貢,因此也先不甘自己利益受損,向明送還了英宗。
英宗做了太上皇,被軟禁在紫禁城的南宮。景泰八年(1457)正月,景泰帝病重,宮廷內的小人們開始蠢蠢欲動。景泰帝的兒子已經死去,如果皇帝就這樣死了,英宗復位就是水到渠成的形勢。如果是自然復位,誰也撈不著好處。石亨、徐有貞、曹吉祥等一夥人突然發動兩千士兵,到南宮把太上皇裝到轎子裡,送到奉天門。
就這樣,英宗實現了復位,景泰帝在二月死去。雖然有重病,但究竟是不是自然死亡仍讓人覺得可疑。英宗誅殺了擁立景泰帝的責任人于謙,用這一舉措再次證明了自己是個昏君。年號改為天順,英宗在天順八年(1464),三十八歲時死去。大概遺詔中禁止殉死是他唯一的善政吧。