贵族鞑靼李罗布花等5人率部投降。五月,明军至饮马河。六月初三,明军前锋在康哈里骇(即三峡口,今蒙古乌兰巴托东,克鲁伦河西岸)击溃瓦刺前哨部队。次日,从俘虏口中得知马哈木大营距此地只有百里,朱棣下令全军昼夜兼程前进。初七,在忽兰忽失温(今蒙古乌兰巴托东,土拉河东岸)与马哈木、太平、把秃李罗率领的3万瓦刺大军相遇。瓦刺军队占据山顶,居高临下冲向明军。柳升用神机炮击毙敌骑数百,朱棣乘机率铁骑发动进攻。双方展开激战,互有死伤。马哈木终于抵挡不住明军的攻击,开始撤退。明军乘胜追击,一直追到土刺河边,马哈木连夜向北逃遁。朱棣考虑自身损失也较大,不宜再战,便下令班师。回师途中,击退了瓦刺的袭扰,于八月回到北京。忽兰忽失温一战,斩其王子十余人,部众数千级。瓦刺元气大伤。公元14巧年,马哈木派遣使节向明朝谢罪,进贡马匹。两年之后,马哈木去世,明朝让他的儿子脱欢继承爵位。
阿鲁台的势力日益强大,常常侮辱明朝使节,甚至派兵侵扰边境。公元1422年年初,阿鲁台大举进攻兴和,杀死明将王祥。朱棣决心第三次亲征。三月,成祖率大军经鸡鸣山、云州(今河北赤城)、独石(在今辽宁)、威远至沙珲原。阿鲁台大惧,尽弃其辎重马畜于阔滦海子,向北逃走。朱棣命焚其辎重,收其马畜,然后班师。回师时,因兀良哈等三卫暗通阿鲁台,顺便击溃之,虏牛羊十余万只带回京城。
公元1423年,朱棣听说阿鲁台又要侵犯边境,决心第四次亲征。九月,朱棣到达沙城(今河北张北西北),从前来投降的鞑靼首领阿失帖木儿等人口中得知阿鲁台刚被瓦刺打败,不会南下。但朱棣仍率大军到达饮马河附近,接受了鞑靼王子也先的归降,然后班师回朝。
公元1424年年初,阿鲁台率兵进攻大同。朱棣率大军亲征阿鲁台,以大学士杨荣、金幼孜扈从。五月,大军至开平,阿鲁台远遁。朱棣大军至祥云屯,又至翠云屯,明军到达答兰纳木儿河一带(今中蒙边境地区)分兵搜索,未见阿鲁台踪迹。朱棣担心粮草接济不上,决定班师。七月,朱棣病逝于榆木川(在今内蒙古)军中。
●土木堡英宗被俘
明英宗朱祁镇即位后,重用宦官王振。公元1449年,北方蒙古族瓦刺首领也先派3000犯使者到北京,向明朝进贡一些马匹以后,要明朝给他赏金。王振接见了瓦刺使者,发现也先谎报人数,就减少了赏金,降低了马价。也先为他儿子向明朝求婚也遭到了王振的拒绝。也先派使者来明朝,本来就是挑衅。这样一来,也先恼羞成怒,亲自率兵进攻明朝的大同。大同守将向朝廷发出告急文书,请求派军支援。
收到边报之后,英宗急忙召集大臣商议对策。权倾朝野的王振提议皇帝御驾亲征,他以为大军一到,便会把对方打个落花流水。另外,王振的家乡距离大同不远,皇帝御驾亲征,他不仅可以跟随皇帝游览一番,还可在家乡百姓面前露脸,光宗耀祖,真可谓一举多得。而兵部尚书邝量、兵部侍郎于谦、吏部尚书王直等一干大臣认为,敌兵有备而来,朝廷草草招集人马,准备得不十分充分,皇帝不能亲征,因而竭力谏阻。英宗没有自己的主意,只听王振一人的主张,况且,英宗也想自己亲自体味一下祖宗戎马倥偬、横扫四方的感觉。所以,英宗把朝政之事交给弟弟邝王朱祁钰,让于谦留守北京,自己率领王振、邝量等官员及50万军兵,于七月十六从北京出发,直奔大同。
由于是仓促发兵,军队的纪律十分涣散。而王振一路随意发号施令,本来是这次出征统帅的英国公张辅实际上被架空了。部队行军拖泥带水,没走几天,粮草给养便接济不上了,偏偏又遭遇暴风雨,士兵们又饥又冷,叫苦连天。好不容易赶到大同附近,士气已十分低落。探马回报没有发现瓦刺部的一兵一卒,王振以为敌人迫于明军的威势,已经望风而逃。他正要发令继续追击,探马又来报告:他派出的两支先锋部队在大同城边被敌军杀败,全军覆没了,其他各路明军纷纷溃退下来。他又得到消息:也先率领的兵力十分雄厚,而且都是骁勇善战的骑兵。王振感到事态严重,下令退兵回朝。但由于错误指挥,耽搁了退兵时间,殿后的部队被瓦刺军追赶上,被打得大败。
明朝几十万大军在抵抗中退到了土木堡(今河北怀来西南)时,天还没有黑,王振却下令就地宿营。有官员向英宗建议:此地无险可守,不如趁着天色尚明,迅速赶进怀来城里,据城防守。但英宗没有采纳。土木堡属丘陵地形,名字虽称做堡,事实上却没有堡可守。而且这里缺水,士兵们跑了好多天的路,已是又渴又乏,只想找地方休息。
第二天拂晓,瓦刺的追兵便赶来了,他们把明军紧紧地包围起来,并发动了攻击。战斗进行了一夜,明军奋勇拒敌。也先知道这次明军兵将众多,硬拼不会取胜,于是使出了诈退之计,同时派使者到明军帐中假意讲和。英宗和王振信以为真,赶紧命人起草诏书,然后随来使去也先的军营谈判。这时,王振命令军士找水喝,士兵们争先恐后跳越壕堑,整个队伍乱作一团。早就埋