公元1644年农历4月21日,李自成率军抵达山海关,向吴三桂发出逼降通牒。吴三桂恃着有清军撑腰,拒不投降。于是,李自成下令攻击,经过一天激战,攻破了山海关外围东罗、北翼二城。吴三桂只得把部队撤到山海关城内,凭坚据守。
当天夜里,清军铁骑就赶到了山海关,在离城二里处悄悄安营扎寨。第二天,李自成军队开始猛攻山海关城。山海关北靠角山,南傍渤海,城高墙厚,易守难攻。吴三桂在城头架设大炮,炸死了不少起义军将士。起义军不惧生死,奋力攻城,吴三桂军队也死伤惨重。
清军并没有立即出战,也没有暴露行踪。多尔衮登上欢喜岭的威远台,静静地当了一天的观众。他坐山观虎斗,要等到双方精疲力竭之时,再坐收渔翁之利。李自成对此毫无察觉,不知道一个凶猛的大敌,就潜伏在自己的身边。
4月23日,李自成继续攻城,下令今天一定要拿下山海关。吴三桂占据有利地形,给起义军造成重大伤亡。但起义军毕竟人多势众,吴三桂渐渐不支,眼看城破在即。
多尔衮见时机到了,一声令下,清军铁骑蜂拥而出,挥舞钢刀,嗷嗷乱叫,杀向起义军,一时间,万马奔腾,飞矢如蝗,马蹄声、号角声、喊杀声惊天动地。
起义军已经连战三天,疲惫不堪,又猝不及防,自然难以抵御。恰在这时,狂风骤起,飞沙走石,起义军大乱,失去招架之力,纷纷溃逃。清军铁骑一口气追杀四十多里,尸横遍野,血流成河。结果,李自成二十万大军溃散,数万将士阵亡。
李自成狼狈地逃回了北京,心中恼恨,下令将吴襄以及吴家老少三十八人全部斩杀。
清军轻松入关,大败起义军,随即直扑北京。起义军遭到重创,实力大减,军心浮动。李自成自知守不住北京,于4月29日匆忙登基称帝,第二天就率军撤往老巢西安。李自成占领北京,前后只有四十二天。
李自成撤退了,清军却不肯罢休。当时明朝已经灭亡,清军便把李自成当成主要对手。清军一面稳固北京城,作为立足之地;一面打着为崇祯皇帝报仇的旗号,追杀起义军。
吴三桂报仇心切,充当先锋,紧紧咬住起义军不放。起义军撤退仓促,准备不足,又跑不过清军骑兵,战斗力也比清军差,因而处处被动挨打。经过保定之战、定州之战、平阳之战,起义军遭受了重大损失,河北、山西也落到了清军的手里。
李自成一路败退,好不容易逃回西安,已经今非昔比了,兵力下降至五十万,而且将士们畏惧清兵,斗志锐减。李自成在陕西、河南一带与清军作战一年,败多胜少,西安最终被清军占领了。
公元1645年,李自成被迫率军向南方撤退,清军继续追击,在襄阳、九江等地连胜十三仗,起义军减少至三十万人。
这年五月,李自成率一部分军队到达湖北通山县九宫山,遭到当地武装袭击,不幸牺牲,享年四十岁。关于李自成的生死和下落,有着许多传说。
清军在追杀李自成起义军的过程中,相继占领了京津、河北、山西、陕西、河南、山东等地,夺取了中原地区。而在南方,明朝残余势力成立了南明政权,延续明朝国号。张献忠占据着四川,建立了割据政权。耐人寻味的是,推翻明朝的李自成起义军,其余部反过来又与南明政权合作,共同抗清。
清军占领了北京和中原地区,但南方的抗清势力还很强大,清朝要想一统天下,还有一段很长的路要走。