七月十九日,明英宗的车驾进抵居庸关。此时,也先的大部队已经在北线与明军的遭遇战中占得先机。明军长途而至,一路上看到的不是伏尸遍野,就是血流成河,所以军心逐渐不稳。可明英宗对此视而不见,为了尽快完成对北线明军的救援任务,他督令全军加紧行军。一些随驾大臣向明英宗提出,希望大军停止冒进,稍稍后撤以观战场形势。正在兴头上的明英宗此时热血沸腾,根本不听。过了居庸关,他又挥师宣府,进抵鸡鸣山(张家口)。到了鸡鸣山,明英宗一高兴,干脆将前线军务处决权交托亲信太监王振处理。成国公朱勇向明英宗递交紧急军情,王振要朱勇“膝行听命”。朱勇属于军中二号人物,威望仅次于英国公张辅。此前也先围攻大同时,除了石亨侥幸逃脱外,大同监军太监郭敬捡回一条性命。在群臣与王振意见相左之际,八月一日,明英宗的车驾抵达大同,太监郭敬现身,向他的好友兼上司王振力陈前行的巨大风险,王振这才答应了回銮之事。等到明英宗走到雷家站(怀来新保安镇)时,也先已经追到亲征大军后翼,伺机发起突袭。
土木堡是京北三大堡之一,居庸关距土木堡不过百里,二十里外的怀来卫。
正统十四年八月十五日,趁着明军出发寻找水源,也先突然发动进攻。明军全线崩溃。英国公张辅、兵部尚书邝埜、吏部尚书王佐等50余名随征官员尽数死于乱军之中。最后时刻,王振和明英宗身边只剩下少量的锦衣卫。尽管他们多次拼死突围,面对瓦剌大军,无异于徒劳。
一直护卫在明英宗身边的老将樊忠,不顾明英宗的反对,抡起一把大铁锤,当场把王振砸死。樊忠也在护卫明英宗出逃时殉国。
围攻北京城月余无果后,也先不敢如从前那般嚣张,急令部队撤出战场。在于谦指挥下,明军倾巢而出,尾随追杀瓦剌军,毙敌近万。也先率部土遁漠北,并着手策划送还明英宗事宜。景泰元年(1450)八月十五日,在瓦剌当了一年俘虏的明英宗朱祁镇终于返回北京城。土木堡惨败,成为整个帝国强弱盛衰的分水岭。
追随明英宗出征的一批武臣勋贵通通战殁在土木堡,打破朱元璋、朱棣等创造的文武制衡格局。此后,明朝逐渐陷入了文官把持朝政的局面。为了压制文官集团的发展,只能自东厂的基础上再设西厂、内行厂,从文官手中攫取更多的权力,以维持朝堂的平衡与稳定。宦官掌权明朝再行恢复,饮鸩止渴。明英宗被俘致使土木堡之变后,除了“异类”明武宗,明朝再无帝王亲自率兵出征或到民间体察民情。