就在明朝方麵,童騃驕縱的皇帝英宗,所有軍政大事,全由王振全全代理,而王振隻是一個太監,且王振確胡作非為,殘害忠良,廣植私黨。1449年當也先入侵時,王振更想利用皇帝“親征”,幸取戰功,提高個人威勢。在這樣政治渾濁的情況下,王振就掌握了戍衛京城的禁軍的全部指揮權。七月十四日下令出兵,十六日就必須啟程,行軍部署毫無成算。當時瓦剌軍侵入大同、宣府、獨石、廷慶等邊塞,明守軍節節敗逃。英宗、王振竟貿然驅使大批中央高級官員和“前軍五萬騎,吏卒私屬可五十萬人”,冒著狂風暴雨,擁出居庸關向大同進發。八月初一,到達大同。瓦剌軍暫退塞外,誘明軍深入北上。但王振等看到邊兵敗亡,橫屍滿野的慘狀,卻惶懼失措,揮軍急退。十三日退到土木堡(今懷來縣西)狼山一帶,瓦剌追兵從後麵兩路逼來,王振派兵迎敵,均敗潰;兵部尚書鄺埜三次奏請英宗突圍,均為王振所阻。十四日黎明,瓦剌軍四麵合圍,十五日瓦剌軍詐退,明英宗急派使臣去瓦剌軍營向也先講和。也先也派使臣持文書來明營,英宗命學士曹鼐草文書,派通事二人隨也先使臣去瓦剌軍營。王振立刻下令移營就水,明軍人馬饑渴,士兵爭先跳越營邊壕塹,隊伍混亂,不能停止。瓦剌騎兵忽從四麵衝來,呼嘯蹂陣而入,奮長刀猛砍明軍,大呼“解甲投刀者不殺!”明軍棄甲曳兵,裸袒蹈藉,屍體蔽野塞川。英宗與親兵乘馬突圍不得出,下馬據地盤膝麵南坐,遂被俘虜。在混戰時,扈從大臣如英國公張輔、尚書鄺埜、王佐、學士曹鼐、張益、侍郎丁鉉等高級官員五六十人都被優軍所殺。軍士棄屍數百裏。其實當時追來的瓦剌軍僅兩萬餘,而明軍五十萬人,死亡過半,騾馬二十餘萬以及衣甲、器械、輜重全被也先軍所奪。太監喜寧投降,將明朝虛實情況完全告給也先。當英宗被俘時,護衛將軍樊忠從旁用所持長錘把王振捶死,痛罵道:“我替天下誅此奸賊!”遂衝向敵軍,殺死敵方十餘個人,最後死在戰場。這一場大混戰,曆史上稱它為“士木之變”。
就在“士木之變”後,首都北京的明朝立即卷入戰場的前哨,政局空前混亂,危機四伏。皇太後和留守京城的郕王朱祁鈺急召大臣朝議。翰林侍講徐珵竟公然主張逃跑,倡言南遷金陵,可避災難,於是空氣更加惡劣,群臣都猶豫昏惑,隻知聚哭殿前。於謙厲聲斥責徐珵說:“倡議南遷者,當斬首,京師是天下的根本,一動則大勢去矣。誰不知宋朝南渡的禍患。請立刻調動四方兵勤王,誓死守衛京師。”於謙的正確主張,得到吏部尚書王直、內閣學士陳循等的同意,皇太後、郕王等慢慢地清醒過來,便把守城抗戰的責任全部交給於謙。於謙等遂即建議:
(一)調山東沿海備倭軍和漕渠運糧軍急援北京,並令全國各地起兵勤王。
(二)提前發給官兵半年的或一年的祿餉,讓他們自己到通州倉庫取米,並號召百姓參加搬運通州軍資進北京城。
(三)動員京郊居民進城,並招募新兵,優給糧銀。
(四)肅清潛藏在京城內外的間諜等敵人。
(五)從土木堡戰敗逃回的士兵,免予處分,仍要報名,各賞銀布操練守城。
(六)加強城防工事,趕造兵器,同時急運南京內庫軍器三分之二北上。八月二十一日,於謙被任做兵部尚書,當時,以於謙為首和以商輅、王竑、袁時、吳寧、王偉、朱驥等為主幹的愛國官吏一致堅決主張抗戰。於謙明確提出了“社稷(指國家)為重,君為輕”的口號,認為英宗既成瓦剌俘囚,帝位不應虛懸,遂奏請皇太後讓郕王監國。並將閹黨馬順、毛貴等箠死,王振家族全部刑斬,以平眾憤。又將閹黨郭敬等治罪。這樣,在一定程度上鎮壓了閹黨,振奮了士氣。九月六日,郕王正式登皇帝(景泰帝)位,遙尊英宗做太上皇,明朝中央政局更顯穩定。同時,於謙又選派得力將領,增補關隘,加派援軍,重新調布了長城邊防。於謙治軍,賞罰嚴明,教練有法,特別重要的是於謙把抗擊瓦剌入侵看成全國一致的神聖愛國任務,廣泛地發動人民報效殺敵,為了保衛國家,他又得了新兵,扭轉了這次的敗局,才算保證了抗戰的勝利。
他們想也先俘捉英宗以後,就想利用這個“禦駕”做招牌,用他來威脅並詐誘明朝各邊鎮開城迎降。由於於謙嚴令各將領堅守關隘,“自今瓦剌奉駕(太上皇)到,不得輕出”。因此也先擁英宗到宣府、大同等處,守將都閉門不納。九月末,瓦剌發動了第二次總攻勢。十月初,瓦剌別部三萬騎攻遼東各鎮,同時別部進犯甘肅沿邊。也先率主力軍騎兵三萬掠大同,直衝紫荊關,阿剌率二萬騎突入古北口。十月九日,也先破紫荊關,阿剌等軍從赤城南下,兩路向北京合圍。當時在北京,明朝從各地征調和新募的軍隊約二十二萬人,但有盔甲者僅十分之一。各將領地守城方略議論紛紜,多主張退軍城內,堅壁清野,以避敵鋒。於謙堅決主張必不可示弱,當列陣郊外,迎擊敵軍。他親身披擐甲胄,主持大軍,駐營德勝門外,分配防衛九門兵力,指定負責將領,誓告全軍,效忠衛國。特令“臨陣,將不顧軍先退者,斬其將,軍不顧將先退者,後隊斬前隊”,於是人人奮勇殺前,士氣奮奮昂揚。