当农民军兵临城下之时,崇祯帝召见左中允李明睿,询问良策,李明睿说只有南迁,这正合崇祯帝的心意。他本来雄心勃勃,希望有所作为,重振朝纲,但残酷的现实将他的美丽梦想一个个打破。他想到自己要做一个亡国之君,心如刀绞,祖先270多年的基业就要葬送在他手中了。
正当崇祯帝决定是否南迁之时,李自成领导的义军向北京步步逼近。在此情况下,崇祯帝下令让各镇兵救援京城,并想把镇守山海关的吴三桂调回支援京城。此时李明睿又劝崇祯帝尽快南迁,但他也既想南迁,又不甘心自动放弃北京,他还希望诸镇兵能替他守住北京。
实际上,从当时情况看,南迁不失为一个好举措。南京保留着和北京一样的统治机构,此时北方战乱,南方稳定,迁到南京先暂时躲一躲,先稳定一下局势,以后可以再乘机杀回北京。但崇祯帝没有这么做。
他想竭尽全力守住北京,但京师守备部队战斗力极差,但调兵入关,责任重大,无人敢承担。凭平庸的李建泰500人马想挽回局势,那真是做白日梦。李建泰一战便败,自己也投降了大顺军。崇祯帝在听到义军步步紧逼的消息后,更加惶恐不安。他只有下了罪己诏。一个月之内崇祯帝连下两道罪己诏,反省了自己的过失,但此时反省已无济于事,8天后,明朝就被推翻了。
在生死存亡的关头,崇祯帝顾不得太多了,命吴三桂退回关内,守卫京师,但好像崇祯帝的棋下得有点晚了,大顺军队在这一天攻占宣府,距北京只有四五百里路了。在此关头,崇祯帝每次都任用太监监军京师重地,各官不准上城,引起内部不和,削弱了防守的力量。
三月中旬,大顺军对京城形成包围之势,十六日,京城的北边门户——冒平失守。17日,农民军围攻京城。崇祯帝召文武大臣商量对策,无人应答。中午,李自成大军到达京城下,派遣已降太监杜勋前去劝降,崇祯帝一时也拿不定主意是降还是不降,就让杜勋先回去了。18日早,崇祯帝又召见群臣询问如何是好,见众臣无话可说,就责怪大臣。于是君臣共同大哭起来。下午,守卫彰仪门的太监曹化淳投降了起义军。接着义军又进入宣武门,守卫各城门的太监纷纷投降。崇祯帝没有办法,到外边看看有没有突围的可能,见无希望,才悻悻返回,看来只有坐以待毙了。
见局势已无可挽回,崇祯帝摆下酒宴,让妻妾子女围坐在一起,吃一顿最后的团圆饭。吃完饭,崇祯帝拔出宝剑,对大家说形势到了这种地步,只有一死了事。周皇后听从崇祯帝的话上吊自杀了,看到周氏死后,崇祯帝又拔剑杀死了昭仁公主,砍伤了乐安公主,袁贵妃上吊自杀没死,崇祯帝又补上三剑。狂杀了一阵后,已是次日凌晨,崇祯帝爬上了紫禁城北面的煤山,在补充完遗书后,上吊自尽。时间是崇祯十七年三月十九日,即1644年4月25日。