瓦剌见明朝另立了新皇帝,没有屈服讲和的意思,又大举进攻。也先挟持着明英宗,攻破紫荆关(在河北省易县西八十里),直扑北京城。
在这紧要关头,于谦召集各将领讨论对策。都督石亨主张退守城内,坚壁清野,避开敌人的锋芒,于谦则主张出城迎战。他把兵部的事情交给兵部侍郎吴宁代理,自己亲自率领军队布阵在德胜门外,准备迎击瓦剌的主力军。他激励兵士们说:“大片国土已经丧失,京城也被敌人包围,这是我们的耻辱,全体将士都应该不怕牺牲,替国家报仇雪耻!”将士们很受鼓舞,士气十分旺盛。
10月27日,瓦剌军逼近北京。于谦派高礼、毛福寿在彰义门(今广安门)外土城北迎战,杀死瓦剌军几百人。当天夜间又偷袭瓦剌军营,取得胜利。
10月29日,瓦剌军又进攻德胜门。于谦派石亨率领一部分精兵,埋伏在城外民房里,又派一小队骑兵去挑战,假装失败,诱敌深入。瓦剌军不知是计,一气儿攻到城边。于谦命令神机营用火器轰击,副总兵范广率兵冲杀过来,石亨的伏兵也杀了出来,前后夹攻,瓦剌军大败,也先的弟弟孛罗被火炮打死。瓦剌军又进攻西直门,都督孙镗在城上守军炮火的帮助下,奋勇抵挡,石亨的援军适时赶到,瓦剌军一看形势不妙,狼狈地逃走了。