崇祯十七年正月初八(1644年2月3日),李自成率军从西安出发,向北京进军。
二月初二日(3月10日),李自成率军在沙涡口造船三千,并征集民船万余渡过黄河,攻下汾州(今汾阳)及阳城(今晋城市阳城县),乘胜攻下蒲州(今永济)。
初三日(3月11日),攻下怀庆(大致在今河南焦作), 杀卢江王载堙,时福王由崧逃至怀庆,崇祯帝发银万两安置,城破时福王由东门逃出,到卫辉(今卫辉市,属河南省新乡市)依潞王(朱常淓,神宗朱翊钧侄)。
二月初五(3月13日),李自成攻太原,已被崇祯革职的巡抚蔡懋德(尚未卸任)调朱孔训,牛勇,王永魁等督兵五千人出战,一军尽殁,困守两昼夜。
初八日(3月16日),李自成以守将张雄作内应,炮轰破城东南角, 攻下太原城, 蔡懋德自缢死,晋王求降。为此, 崇祯向天下颁布罪己诏。
二月十六日(3月24日),李自成到忻州(今山西省忻州市),官民迎降,攻代州(今属忻州管辖),在此,李自成部遭遇总兵周遇吉凭城固守,连战数日,杀敌万余,积尸几乎与城墙平,因兵少食尽,退守宁武关,知县降。
二月二十日(3月28日)李自成逼进宁武关,向关内发出通牒,五日不下,屠城。周遇吉悉力拒守,伤敌万余。其后,周遇吉徒步跳荡,手格杀数十人,矢集如猬毛,被执,缚之高竿射杀, 或说磔于市,也有说自刎而亡。宁武兵备副使王孕懋全家自杀。三月初一日,宁武关陷,李自成屠城。
战后,李自成农民军死亡数万余人,对前进十分担忧说:“宁武虽破,死伤过多,自此达京师,大同,宣府,居庸关重兵数十万尽如宁武,吾辈岂有孑遗哉,不如还陕图后举。”
然,三月初一日(4月6日)深夜,大同总兵姜瓖降表到,李自成甚喜,厚款之,刚坐定,宣城总兵王承允降表亦到,且以百骑来迎,李自成进大同后欲将姜瓖处死,经闯将张天林劝阻而释放。
至此京城告急,农民军已顺利取得攻打京城的道路。
三月初三(4月8日),齐国第二陆战营及乡兵三个中队,携由饥民所建自救军一部五百余人,于长山岛分乘大小船只三十多艘,径直朝东行驶,往朝鲜而来。
三月初五(4月10日),齐军夺占皮岛(今朝鲜椵岛)、云从岛(今朝鲜身弥岛),俘杀朝鲜军民五百余,随后稍事休整两日,期间命自救军于皮岛重筑东江镇堡垒。