當農民軍兵臨城下之時,崇禎帝召見左中允李明睿,詢問良策,李明睿說隻有南遷,這正合崇禎帝的心意。他本來雄心勃勃,希望有所作為,重振朝綱,但殘酷的現實將他的美麗夢想一個個打破。他想到自己要做一個亡國之君,心如刀絞,祖先270多年的基業就要葬送在他手中了。
正當崇禎帝決定是否南遷之時,李自成領導的義軍向北京步步逼近。在此情況下,崇禎帝下令讓各鎮兵救援京城,並想把鎮守山海關的吳三桂調回支援京城。此時李明睿又勸崇禎帝盡快南遷,但他也既想南遷,又不甘心自動放棄北京,他還希望諸鎮兵能替他守住北京。
實際上,從當時情況看,南遷不失為一個好舉措。南京保留著和北京一樣的統治機構,此時北方戰亂,南方穩定,遷到南京先暫時躲一躲,先穩定一下局勢,以後可以再乘機殺回北京。但崇禎帝沒有這麼做。
他想竭盡全力守住北京,但京師守備部隊戰鬥力極差,但調兵入關,責任重大,無人敢承擔。憑平庸的李建泰500人馬想挽回局勢,那真是做白日夢。李建泰一戰便敗,自己也投降了大順軍。崇禎帝在聽到義軍步步緊逼的消息後,更加惶恐不安。他隻有下了罪己詔。一個月之內崇禎帝連下兩道罪己詔,反省了自己的過失,但此時反省已無濟於事,8天後,明朝就被推翻了。
在生死存亡的關頭,崇禎帝顧不得太多了,命吳三桂退回關內,守衛京師,但好像崇禎帝的棋下得有點晚了,大順軍隊在這一天攻占宣府,距北京隻有四五百裏路了。在此關頭,崇禎帝每次都任用太監監軍京師重地,各官不準上城,引起內部不和,削弱了防守的力量。
三月中旬,大順軍對京城形成包圍之勢,十六日,京城的北邊門戶——冒平失守。17日,農民軍圍攻京城。崇禎帝召文武大臣商量對策,無人應答。中午,李自成大軍到達京城下,派遣已降太監杜勳前去勸降,崇禎帝一時也拿不定主意是降還是不降,就讓杜勳先回去了。18日早,崇禎帝又召見群臣詢問如何是好,見眾臣無話可說,就責怪大臣。於是君臣共同大哭起來。下午,守衛彰儀門的太監曹化淳投降了起義軍。接著義軍又進入宣武門,守衛各城門的太監紛紛投降。崇禎帝沒有辦法,到外邊看看有沒有突圍的可能,見無希望,才悻悻返回,看來隻有坐以待斃了。
見局勢已無可挽回,崇禎帝擺下酒宴,讓妻妾子女圍坐在一起,吃一頓最後的團圓飯。吃完飯,崇禎帝拔出寶劍,對大家說形勢到了這種地步,隻有一死了事。周皇後聽從崇禎帝的話上吊自殺了,看到周氏死後,崇禎帝又拔劍殺死了昭仁公主,砍傷了樂安公主,袁貴妃上吊自殺沒死,崇禎帝又補上三劍。狂殺了一陣後,已是次日淩晨,崇禎帝爬上了紫禁城北麵的煤山,在補充完遺書後,上吊自盡。時間是崇禎十七年三月十九日,即1644年4月25日。