逃大同,塞北城堡接连失陷。与此同时,阿刺部攻独石,破永宁城,进逼居庸关。脱脱不花部围攻镇静堡,遭明军抗击,撤围而去。
七月十六,英宗和王振仓促率领大军号称五十万前往大同迎战。同行的还有英国公张辅、兵部尚书邝野、户部尚书王佐及内阁大学士曹鼐、张益等百余名文武官员,但英宗不让他们参预军政事务,把一切军政大权都交给王振一人独断。七月十九,在进军途中,邝埜等群臣屡请回师,均遭拒绝。七月廿三,至宣府。七月二十四,也先侦知明军主力出征,且行阵如蚁,首尾难顾,遂佯装畏惧,主动北撤,隐伏塞外,纵明军兵骄,寻机待战。廿八曰,明军至阳和,目睹尸横遍野,将士惊恐。
八月初一,师至大同,王振不见瓦剌军踪影,急欲北进,炫耀兵威。这时,镇守大同的太监郭敬密报王振,瓦剌兵势甚锐,且大同以北各地明军惨败,若继续北行,正中其计。王振遂定回师,命刘安为大同总兵、郭登为参将,镇守大同,掩护主力东撤。初三,明军开始按既定路线由蔚州经紫荆关返京师。军行四十里,王振擅改行军路线,令全军折向宣府,经居庸关而返。
将士辗转宣府、大同间,饥渴疲惫。也先察知明军易道北行,指挥混乱,断定并非用计,立即改变设伏之策,发挥蒙古骑兵倏来忽往、灵活机动的特点,挥师突入长城,跟踪追击。七月十三,瓦剌大军追至,恭顺伯吴克忠、都督吴克勤率兵断后,战死沙场。成国公朱勇、永顺伯薛绶率骑五万来援救,至鹞儿岭,中伏死,五万骑兵全部覆没。
八月十四,大军抵达土木堡这个距离怀来城仅二十里的堡寨,因为一千多辆武钢车的辎重未能如期抵达,王振不顾文武百官反对下令就地宿营。翌曰,瓦剌大军围困土木堡,明军只得仓促应战,英国公张辅,泰宁侯陈瀛,驸马都尉井源,平乡伯陈怀,襄城伯李珍,遂安伯陈埙,修武伯沈荣,都督梁成、王贵,尚书王佐、邝野,内阁大学士曹鼐、张益,侍郎丁铉、王永和,右都御史邓棨等,皆战死,明英宗盘而坐,不久