县)、孝感、黄州(今湖北黄冈市)等地,基本上摧毁了明朝在河南的军事力量。李自成攻占襄阳后,提出了“均田免粮”的口号争取群众,军事上改变过去流动作战战术,派遣将领分守所攻克的城池,严密军事组织,建立各种军事制度,并完善骑兵和步兵的军事建制,以使在战术上步骑配合,骑兵诱敌,步兵拒战,然后骑兵包抄合围。攻城时骑兵布围,步兵冲锋,昼夜三番轮攻。这表明起义军已由流动作战阶段进入阵地战阶段,已具备了推翻明朝的实力。李自成确定了先取关中,继取山西,后占北京的策略。崇祯十六年(1643年)十月,李自成大军攻克潼关,率10万大军围歼明三边总督孙传庭,十一月起义军不战而进入西安。崇祯十七年(1644年)一月,李自成建立大顺政权,势力进一步壮大,以西安作为攻打北京的基地。此后,李自成亲率大军渡黄河进入山西,攻克太原,沿大同、宣府(今河北宣化县),从北面包围了北京。另一路义军由左营制将军刘芳亮率领,渡黄河攻克山西上党(今山西长治市),分取真定(今河北正定县)、保定,从南面包围北京。三月十七日,李自成从昌平围攻北京,北京明军不攻自溃,十九日李自成率兵进城,崇祯帝在煤山自杀,明朝被推翻。
李自成进京后,明军的残余势力,仍在周围对其虎视眈眈,其中力量最强的是盘踞在山海关的原明朝宁远总兵吴三桂,成为起义军的心腹之患。出于对农民起义军仇恨的地主阶级本性,吴三桂投降了清朝,与清军联合镇压起义军。四月,李自成亲率大军攻打吴三桂,双方在山海关展开激战。在满汉军队的联合进攻下,李自成战败,撤回北京。二十九日匆忙称帝,建国大顺,次日退出北京。
李自成撤出北京后,有计划地实施战略退却,经山西平阳、韩城回到西安。清军在清顺治元年(1644年)冬分兵两路进攻西安,次年二月潼关失守,李自成从西安经襄阳进入武昌,五月,李自成在湖北通山县南九宫山遭到地主武装袭击,壮烈牺牲。顺治三年(1646年),清军由陕南入川,攻打大西军,张献忠于次年七月撤离成都,北上与清军作战,十一月牺牲在凤凰山(今四川南溪县北)。李自成、张献忠牺牲后,农民军余部继续坚持战斗,大顺农民军分为两路,一路由郝摇旗、刘体纯等领导,活动在洞庭湖以东地区;另一路由李过、高一功领导,活动在洞庭湖以西地区。大西农民军则在孙可望、李定国的率领下转入川贵,坚持抗清斗争。清军集中兵力镇压义军,李过病逝,高一功、刘体纯、郝摇旗等战死,孙可望降清,李定国兵败。到顺治十五年(1658年),明末农民军余部完全失败。
明末农民起义军和明清军队经过30余年的反复较量,推翻了明朝,打击了清朝,在中国农民战争史上谱写了一段热血篇章。