英宗帝被俘的消息传到北京后,满朝文武大臣乱作一团,没有一个人能拿出好主意。翰林侍讲官徐珵主张走为上策,向南撤退。此时,朝中你一言,我一语,吵吵嚷嚷,毫无结果。正在关键时刻,兵部侍郎于谦挺身而出,他说:“京都是国家的根本,如果朝廷一撤出,大势就完了,大家难道忘了南宋的教训吗?”
于谦的主张得到许多大臣的赞同。皇太后和朱祁钰眼看在这关键时刻,能站出一位力挽狂澜的忠臣,当然满心欢喜,立即委以于谦兵部尚书的重任,让他负责指挥军民守城。
这个时候,由于朝中观点不同,事实上已分成主战和主和两派,加上英宗不能回朝主政,长此下去不是办法。于谦等人为了拯救国家存亡,向皇太后提出请求,立郧王朱祁钰为皇帝。太后再三考虑后,表示赞成。9月,朱祁钰即位,号代宗皇帝,改年号为景泰,尊英宗为“太上皇”。
景泰元年(1450年)9月,代宗即位不久,瓦刺军进逼宣府城下。于谦面对敌我兵力悬殊的态势,一面抓防卫,一面抓备战,大力征募新兵,调运粮草,赶制兵器,不到一个月,就征集了20万人马,做好一切迎敌的准备。
10月,也先挟持着被俘的皇帝朱祁镇攻破紫荆关,兵逼北京城。于谦主张先打掉也先的嚣张气焰,鼓舞士气。他调集了22万军队,作好迎战准备,并作了周密布置:都督王通、副都御史杨善率部守城,其余将士分别驻扎在九个城门外,列阵待敌。
明军副总兵高礼首先在彰义门外告捷,歼敌数百,夺回民众千人。狡猾的也先,眼看明军有于谦等将领指挥,硬攻不能取胜,便变换手法,以送还朱祁镇为名,准备诱杀于谦等人,但被于谦识被了。
也先见此汁不成,便采取强攻。于谦不在正面与敌人拼杀,他派骑兵佯攻,把敌军引入伏击圈内,便用埋伏好的火炮轰击,瓦刺军伤亡惨重,也先的弟弟勃罗也在炮火中丧生。
瓦刺军围攻京都,屡遭挫败,进攻居庸关又遭守将罗通的抵抗。也先怕归路被明军切断,忙带着朱祁镇向良乡(北京房山县东)后撤。明军乘胜追击,大获全胜。也先带着残兵败将逃回塞外。
北京之战,瓦刺军受到重挫,引起内部不和。也先见留着朱祁镇也没有多大作用,就把他送回了京都。从此,瓦刺军再也不敢进犯明朝了。