永乐十九年,迁都北京后,撤销塞北军事重镇大宁、开平诸卫,使北部防线南移数百里。蒙古贵族乘机扩展势力,分为瓦剌、鞑靼、兀良哈三大部,互争雄长。正统四年,瓦剌部首领也先嗣位,用武力迫使诸部服属。同时,表面与明朝互通贡市,请求通婚,以保和好;暗中刺探明朝虚实,寻机举兵,图谋恢复元朝统治。明朝北边守将察知瓦剌军蓄谋南攻,多次奏疏加强戒备,以防不虞。而太监王振操纵朝中大权,竭力粉饰太平,致使北部边备日懈。
土木堡之战
正统十四年七月,也先以为攻明时机成熟,以明廷刁难其贡使和毁弃婚约为由,倾全力分四路大举攻明。命脱脱不花可汗率东路攻辽东,阿剌知院率中路攻宣府,另遣一部为西路,攻甘州,自率精骑攻大同。十一日,也先率师进至猫儿庄,击杀大同参将吴浩。明廷闻败,命大同总督宋瑛、驸马都尉井源、总兵朱冕和左参将石亨各领兵万人出阳和口抵御。王振欲图边功,竭力怂恿英宗亲征,企图以势吓退瓦剌军。卜五日,英宗拒听兵部尚书邝埜、左侍郎于谦和吏部尚书王直等文武重臣再三谏阻,下令亲征,并命其弟郕王朱祁钰留守京师。同日,阳和口之战,明军又败,宋瑛、井源、朱冕战死,石亨败逃大同,塞北城堡接连失陷。与此同时,阿刺部攻独石,破永宁城,进逼居庸关。脱脱不花部围攻镇静堡,遭明军抗击,撤围而去。
十六日,英宗和王振仓促率领大军号称50万前往大同迎战。十九日,在进军途中,邝埜等群臣屡请回师,均遭拒绝。廿三日,至宣府。廿四日,也先侦知明军主力出征,且行阵如蚁,首尾难顾,遂佯装畏惧,主动北撤,隐伏塞外,纵明军兵骄,寻机待战。廿八日,明军至阳和,目睹尸横遍野,将士惊恐。八月初一,师至大同,王振不见瓦剌军踪影,急欲北进,炫耀兵威。这时,镇守大同的太监郭敬密报王振,瓦剌兵势甚锐,且大同以北各地明军惨败,若继续北行,正中其计。王振遂定回师,命刘安为大同总兵、郭登为参将,镇守大同,掩护主力东撤。初三,明军开始按既定路线由蔚州经紫荆关返京师。军行40里,王振擅改行军路线,令全军折向宣府,经居庸关而返。将士辗转宣府、大同间,饥渴疲惫。也先察知明军易道北行,指挥混乱,断定并非用计,立即改变设伏之策,发挥蒙古骑兵倏来忽往、灵活机动的特点,挥师突入长城,跟踪追击。十三日,追至宣府西侧,一举击败明军后卫吴克忠、吴克勤部。闻明成国公朱勇和永顺伯薛绶领兵4万来援,又迅速转兵,在明援军必经之地鹞儿岭设伏待机。