李自成的失败有多方面的原因,不仅仅是军事上的失败,政治因素也占很大一部分。从政治方面来讲,李自成是完全可以避免成为军事失败的助推剂。吴三桂本来已答应投降,并率领麾下四万明军及八九万关外汉民进关,准备进京朝见李自成。此时的李自成应该妥善安置好吴三桂在京的家属,不幸的是,李自成在这方面的工作出现了重大问题。先是在北京搞的“追赃助饷”,搞到了吴三桂父亲吴襄头上,大将刘宗敏向吴襄“索饷二十万”,并因此拷打了吴襄。其次是吴三桂的爱妾陈圆圆也被刘宗敏夺去,惹得吴三桂“冲冠一怒为红颜”。
除了对吴三桂一事上的错误处置外,还有对北京原明朝旧官僚和缙绅的无情打压。李自成进入北京后,没有及时从“农民起义领袖”到“统治阶级”身份的转变,他仍然朴素的代表和维护着农民阶级的利益。李自成对普通百姓提出“不当差,不纳粮”的口号,却对原明朝官吏展开“追赃助饷”的清算运动。以原明朝官吏和地方为代表的统治阶级,本身对改朝换代并不关心,他们关心的是新王朝的主人如何对待他们,他们的既得利益能否得到保护和延续。显然,李自成的作法使他们衣冠扫地,颜面尽失。他们听说李自成兵败后,立即在北京发动叛乱,杀害和拘捕大顺政权官员,袭杀大顺军驻兵,“榜闯大逆无道罪状”,“凡逆闯政令一切革去”。前有吴三桂与满清军队的咄咄逼人,后有前朝缙绅的煽风点火,李自成只能撤出北京。
军事来讲,李自成向山海关进兵时,北京只留了一万名士卒守备。随李自成讨伐吴三桂的兵力大约十万人左右。而吴三桂的兵力约五万人。从兵力来讲,李自成占有优势,但吴三桂的关宁铁骑常年与满清作战,勇猛异常,战斗力不可小视。果然,双方在山海关激战一昼夜,李自成仍然未能击败吴三桂。一直觊觎中原的满清政权,及时把握时机,于双方开战之日就赶到山海关附近观战。吴三桂渐渐不支后,亲自谒见多尔衮,请求清军出兵相助。多尔衮以“汝等愿为故主复仇,大义可嘉”为名,答应出兵。多尔衮要求吴三桂的军队以白布系肩为号,以作区别。随后从南水门、北水门、关中门三路进关,向大顺军发起猛攻。清军以逸待劳,而且在数量上占有很大优势,大顺军虽然勇猛抵抗,仍然败下阵来,大将刘宗敏也负了伤。
李自成退回北京后,曾打算固守待援。第一,军队数量上少于清军和吴三桂的联军,第二,其他军队分别驻守于西北各省和湖北、河南、山西等地,短期内无法救援。北京城显然已成为一座孤城。在这样一种情况下,李自成在武英殿草草登基后,无奈撤出北京。