明崇祯十七年(1644)农历正月初八(2月15日),农民军领袖李自成统率步兵40万,马兵60万,从西安浩浩荡荡地出发,向明王朝的统治堡垒北京城发起了最后攻击。大军渡黄河进入山西,一路以破竹之势攻取蒲州、绛州、平阳、洪洞、赵城、霍州、灵石、汾州,二月初五(3月13日)进抵太原城下。第二天,大顺军开始攻城,雁北阳和兵马3000人在南关阵地起义,向大顺军投诚。二月初七,狂风大作,拔木扬沙,城中人心惶惶,山西巡抚蔡懋德急调张雄守迎泽门,而张雄早已缒城出降。当天夜里,张雄事先布置的兵卒在新南门放火烧火药库,风助火力,声势惊人,守城兵士骇散。大顺军乘势登城攻入,经过巷战,次日凌晨占领太原。巡抚蔡懋德自杀,晋王朱求桂被俘。
李自成在太原休整8天后,率大军北上取宁武,遭遇镇守宁武关的山西总兵周遇吉的顽强抵抗。周遇吉十分骁勇善战,大顺军限周遇吉五日内投降,周遇吉发大炮轰击,大顺军攻城部队伤亡惨重。他又设伏诱大顺军入城,急下闸门关闭数千人,全部杀死。大顺军用炮攻城。城墙被轰开缺口,几次都被他重新堵住。但是大顺军人多势众,奋不顾身,前队死,后队复继,经过反复激烈的厮杀争夺,终于在二月二十二日(3月30日)攻克宁武城。周遇吉拼死不投降,巷战马毙,徒步跳跃,手格杀10人,身上中满箭矢,最后力战不屈身死,其全家亦自焚而死。宁武关战役是李自成进军北京途中遇到的最大抵抗,农民军伤亡数万人马。
宁武关的攻克,给大同守敌以极大震动,明朝大同总兵姜瓖遣人暗献降表。李自成、刘宗敏率大军继续北上,三月一日(4月7日)到达大同。姜瓖开门投降。大同巡抚卫景瑗被俘。李自成劝他归降继续做大顺政权的巡抚,他却死心塌地要为明廷尽忠。初六日自杀于僧寺。代王朱传曾主持守城,各城门都由诸郡王分守,姜瓖射杀永庆王,才开得一城门迎大顺军入城。李自成下令将代王全家老小及其宗室全部杀死。
大同是京师的重要藩屏,东连宣府,西界黄河,南接并州,北控沙漠,军事地理位置非常重要。顾祖禹《读史方舆纪要》称大同为“京师藩屏,边城要冲”。早在明代就是北部边防的军事重镇,驻扎有13万边军,配备有马、骡、驴5万余匹,每年驻防兵士生产粮食50多万石、马草17万束、秋青草176万束,当地老百姓每年要运送小米、麦子、黑豆近42万石,还要割草60万束,输盐8万引。明清两朝均在此驻扎重兵,先后设有宣大总督、大同巡抚、镇守中官、大同总兵等文武大员,并在大同周围修筑左、中、右、前、后五卫,形成卫所星罗、墩堡密布,共有城堡64座,敌台89座,墩台788座的坚固防御格局。姜瓖投降李自成在明朝营垒中引起连锁反应,宣府守将王承胤、监军太监杜勋,居庸关守将唐通、监军太监杜之秩,都先后献城投降。李自成大军以席卷之势,长驱直入,三月十七进抵北京,城外的明朝三大营都溃不成军。三月十八(4月24日),太监曹化淳开彰义门,大顺军进占外城。三月十九日,明崇祯帝自缢于后山(今景山公园)。当天,大顺军破内城各门,李自成头戴斗笠,乘乌驹马入城,入承天门(今天安门),登皇极殿。明朝灭亡。
公元1644年,是一个中国历史发生剧烈动荡变革的年头。短短40天内,江山易色,政权两次更迭。明朝崇祯帝、农民领袖李自成、关外满清贵族集团先后登台亮相,上演了一幕幕改朝换代的兴亡活剧。这年五月,李自成在北京刚做了几天皇帝梦,屁股还未坐稳,清兵就在吴三桂的勾结下杀进北京城。清军入北京后,很快打败李自成的农民军,推倒大顺农民政权,将李自成撵出北京城,并立即向山西、山东两翼展开,为大举南进做准备。
六月,清摄政王多尔衮采取军事、政治双管齐下办法,一面准许恭顺侯吴惟华招抚宣大、山西,一面以固山额真叶臣领兵做后盾。不久,原已投降农民军的明大同总兵姜瓖见风使舵,杀大顺军将领柯天相等背叛,大同地区遂落入清朝之手。吴惟华乘势招抚大同以南的代州、繁峙、崞县(今山西原平市)一带。七月初三,清廷命平定山东的固山额真觉罗巴哈那、石廷柱部移师会同固山额真叶臣军进攻山西。到九月十五(10月15日),同姜瓖一样投降大顺政权的明将唐通,也在驻地保德向多尔衮献降表,于是山西北部尽归清廷。
九月十三日,固山额真叶臣统率清军经固关、平定、寿阳、榆次进至太原城下。太原是北方军事重镇,城高墙厚,大顺军守将陈永福实施“坚壁清野”的办法固守太原城。清军炮火猛烈攻城,大顺军将士拼命死守,一些阵地反复易手,双方激战20余日不能攻下。十月初三(11月1日),叶臣奏请清廷调来“西洋红衣大炮”,集中火力猛轰西北城角,城垣倒塌数十丈,清军蜂拥而上。大顺军将士浴血奋战,双方展开了残酷的白刃格斗,最后大顺军从东门突围出城,又遭到埋伏截杀,死伤惨重,节度使韩文铨战死,大顺军绝大部分将士壮烈牺牲,主将陈永福率一部分兵士突出重围,省城太原陷落。
当年八月间,另一路清军在主将孟乔芳率领下,从泽州北上进攻长治,大顺军守将刘忠力战不利,被迫撤离长治。孟乔芳占领长治后,仅留一部分清兵防守,暂以明朝潞安府通判冯兆圣署理冀南道事,而后率领所部北上参加清军布置的会攻太原城战役。败出长治的刘忠部趁势折回想夺回长治,但由于先前为防清军攻城,拆毁城乡房屋实行坚壁清野,这时反受其累,大顺军士兵形藏尽露,阵地前沿无所隐蔽,攻城进展十分不利。相持一个多月,农民军不能得手。同年十月,清军主力攻破太原后,前来增援长治,刘忠势单力薄,被迫撤离长治,转攻阳城,激战11昼夜不能攻克,只好率部转入河南。阳历10月20日,清军平定山西。固山额真叶臣自军中奏报:潞、泽已下,所属十几个州县俱已委员管理。清廷接报大喜。
早在顺治元年(1644)七月十九,清廷即命都察院左佥都御史马国柱为右副都御史,巡抚山西。以工部启心郎马鸣珮为山西布政使司参政,分守冀南道。内院副理事官迟变龙为山西布政使司参政,管理粮储道。吏部启心郎焦安民为山西布政使司参政兼按察使司佥事,管理屯田。组建山西省级行政官署机构及其班子成员。但因当时统一战争还在进行之中,太原城尚未攻克,因而一直到同年八月十九(9月19日),清廷才正式派遣河南、山东、山西的督、抚、道、府等官赴任。该年十一月十四(12月12日),山西巡抚马国柱奏报:清军遇贼于汾州,斩2000余级,获马千余匹,复追至柳林青龙镇、永宁州黄河一带,农民军仓促投河,溺死者无算。又获马500余匹,进至平阳,农民军弃城遁走。至此,山西全境被清军占领,李自成的晋豫防线被彻底击溃。