自成到了西安之後,是否立刻進兵幽燕,宋獻策、李巖和大將田見秀都主張先鞏固已經佔領的各省地方,暫緩攻佔北京,大違自成心意;而顧君恩與許多新降文臣都主張趕快攻佔北京,皇上應該在北京舉行登極大典。自成果然親率大軍東征,順利地攻破北京,完成了顧君恩在襄陽建議的用兵方略。
崇禎十七年二月自成出兵山西,不到兩個月便打到北京,僅三天工夫便把北京城打下了,真如有摧枯拉朽一般。從崇禎二年起義以來,自成經過十五年的艱難苦戰,幾經挫折,血流成河,終於有了今天:打進北京,滅亡了明朝,奪取了江山。大順軍全軍上下,所有文臣武將,都興奮鼓舞,認為是大功告成,江南可以傳檄而定,自成本人當然也認為大順朝的萬世之業已定,只等在北京舉行登極大典,然後返回長安,一邊統一江南,一邊營建大順皇宮,恢復盛唐規模。
“三月乙巳,李自成自山西抵京師,環攻九門。丁未,京城陷,帝后崩。丙辰,遼東總兵平西伯吳三桂聞京師陷,帝后殉難,遂縞素髮哀,乞師於我大清討賊,薄山海關,傳檄遠近。李自成聞之大驚。”(《明史紀事本末》)
《明史.李自成傳》載:“初,三桂奉詔入援,至山海關,京師陷,猶豫不進。自成劫其父襄,作書招之,三桂欲降。至灤州,聞愛姬陳沅被劉宗敏掠去,憤甚,疾歸山海,襲破賊將。自成怒,親部賊十餘萬,執吳襄于軍,東攻山海關,以別將從一片石越關外。三桂懼,乞降於我大清。四月二十二日,自成兵二十萬,陣於關內,自北山亙海。我兵對賊置陣,三桂居右翼末,悉銳卒搏戰,殺賊數千人,賊亦力鬥,圍開復合。戰良久,我兵從三桂陣右突出,衝賊中堅,萬馬奔躍,飛矢雨墮,天大風,沙石飛走,擊賊如雹。自成方挾太子登高岡觀戰,知為我兵,急策馬下岡走。我兵追奔四十里,賊眾大潰,自相踐踏死者無算,殭屍遍野,溝水盡赤。自成奔永平,我兵逐之。”
入城出城僅四十天,經山海關一戰,之前攻無不克的大順軍潰不成軍,從此沒有打過一場像樣的戰役。如果說是腐化變質的話,四十天內截然不同很難令人相信。自古入京的叛軍不少,比闖部更貪婪的比比皆是,從來沒有在這麼短的時間內失去戰鬥力的。比如黃巢部,撤出長安後還能夠南征北戰。相比之下,闖部是進入京城時間最短的,可是戰鬥下降最厲害的。山海關一戰,自成傷亡慘重,是倉皇而去,讓吳三桂追得如喪家之犬。
郭沫若將此歸結為李巖被殺:“李自成自然是一位悲劇的主人,而從李巖方面來看,悲劇的意義尤其深刻。假使初進北京時,自成聽了李巖的話,使士卒不要懈怠而敗了軍紀,對於吳三桂等及早採取了牢籠政策,清人斷不至於那樣快的便入了關。又假使李巖收復河南之議得到實現,以李巖的深得人心,必能獨當一面,把農民解放的戰鬥轉化而為種族之間的戰爭。假使形成了那樣的局勢,清兵在第二年決不敢輕易冒險去攻潼關,而在潼關失守之後也決不敢那樣勞師窮追,使自成陷於絕地。”現在可以很明顯的看出,郭老誇大了李巖的作用,很難令人信服。
有人認為是鼠疫流行的結果。鼠疫是人類歷史上最重要的烈性傳染病,“東死鼠、西死鼠,人見死鼠如見虎”。崇禎十七年,北京大疫進入高峰,高峰期正是三、四月間,面對鼠疫,人們只能束手待斃。李自成討伐吳三桂,人數為什麼爭議很大,就是因為瘟疫流行,減員嚴重。
可是為何在山海關大戰前李自成一度佔優?肺鼠疫這類鼠疫的潛伏期可以長到20多天,也就是感染了20多天才發病。這種長潛伏期的烈性傳染病流行面廣,因為未發病時和正常人一樣,可以繼續感染別人。自成帶到山海關前的部隊,正是剩下的還未發病的那部分人,戰鬥力還在。這批人在山海關戰死了一部分,逃回來的也陸續發病,於是李自成手下全是鼠疫病人,即便是痊癒的也非常虛弱,能跑路就不錯了。這就是為什麼自成從山海關下來,不能守北京,離開北京也連戰連敗。一路退一路把鼠疫流行過去,“凡賊所經地方皆大疫,不經者不疫”。各地留守的部隊也染上鼠疫,於是棄山西棄西安最後敗死九宮山。那支無敵的雄師被鼠疫消滅了,聯合南明時已經是烏合之眾。