万历20年(1592年)12月3日,在朝鲜的不断催促下,命吴惟忠部三千人先行渡江,4日,王问、钱世桢部二千人渡江,抵达朝鲜奉报台左,此举一来大张声势,二来以安抚朝鲜并保卫粮道安全。
大明帝国虽然疆域辽阔,兵力众多,但是边境线也很长,需要把守的地方太多,北方和西部时不时出兵劫掠的蒙古各部,辽东的女真,西南的刚刚被暴打的缅甸,另外,播州的杨应龙也有了反叛的趋势,沿海地区也要防止倭寇和远东地区欧洲殖民军势力的骚扰(尤其福建广东这对老兄弟,多次击溃过葡萄牙人和后来居上的荷兰人),各地都要不少留守部队,所以账面上大明军力很多,实际上并不富裕,这也导致出兵的规模不会很大。明军这次入朝,本意计划出兵七万,然而各地军镇不愿将所属精锐调出,实际征调时仅按四万为准。然而这四万人依旧是打了折扣的,以辽镇为例,堪称精锐的仅有李宁、张应种所属正兵1189人,其次较有战斗力的为广前营339人、选锋右营1300人、辽阳营及开原营1534人,共3173人,其余战斗力均不高。而蓟镇则“强弱相半”,而渡江时蓟镇兵仅有4500人,加后续来到的2800人,按一半算,堪用之兵仅为3650人。其他“真保宣大皆庸贩之徒”,如赵文明部2100马兵,为自备马匹应征的民兵。南兵中吴惟忠部为临时招募的义乌等处新兵,虽因兵源地较好有一定战斗力,但并不能称为精锐,只能说好于老弱庸贩之徒,南兵精兵仅有洛尚志的600人。也就是说,在宋应昌看来,这支四处拼凑的军队中,训练有素战斗力较强的马、步军只在名义上有8612人,其余二万多人以新兵和民兵为主,战斗力并不高。结合各部构成来看,明军以各部精锐,分列与左、中、右三翼,率领各镇发往辽东部队中,战斗力不高的新兵和民兵部分,即平壤之战前,明军全军兵力大致为36013人。其中精锐及较有战斗力的人员,包含各将领家丁在内,总数为9928人,约占全军总兵力的27.6%。也就是说,入朝明军的精锐很少,多半还只是二三流部队,新兵蛋子和民兵都拉上来凑数。宋应昌甚至忍不住吐槽:“兵不满两万。”账面上的三万多人,有一万多老弱都被打发去做了后勤。余下的两万多人也有一多半是新兵和民兵。不过,明军渡江时骑兵人数为25454人,占全军总兵力约八成,以骑制步的作战思路非常明显。
小西行长收买了金顺良等40多个朝鲜叛民,将他们散布于平 壤北面的顺安、肃川、安州、义州等处作为耳目,通报朝鲜机密之事,在十二月上旬,朝鲜平安道都体察使柳成龙捕获了叛民头目金顺良,金顺良被审讯时没能保守机密,招供了间谍名单,于是小西行长收买的间谍被一扫而空,随后被处死,小西行长没有了渠道,使得日军对明军进入朝鲜的消息 一无所知。
万历21年1月1日,备御王玠领火器手2700人渡江,前往平壤,原任参将周易,领家丁二十余人,在二更渡江,于次日南下。3日,明使刘黄裳前来慰问,于龙湾馆与李昖相见,谈及可否派人前往平壤城,与城中父老豪杰为明军内应,李昖以“平壤城中,愚民畏死,姑为投附,岂有豪杰也?”为由拒绝。国王懈怠,官员自然消极,给明军通报的所谓粮草,只是“兵粮输运事,非不申饬,而州官犹置寻常,略不举行”,“该(户)曹任其自为,亦不检督”,实际渡江后,明军便处于断粮边缘,朝鲜明言肃州粮草不足大军所需,而明军所载火炮辎重过半落后,戚金(戚继光的侄子)部抵安州时,战车全未曾运到。
一月二日,明军抵达安州,在城南宿营,柳成龙以平壤地图示李如松,向明军通报各处地形道路情报,李如松以朱笔在地图上标记,并告知柳成龙,明军计划以火炮压制日军火绳枪。待柳成龙退回,李如松与扇面题诗,诗云:
提兵星夜渡江干,为说三韩国未安;明主日悬旌节报,微臣夜释酒杯欢。
春来杀气心犹壮,此去妖氛骨已寒;谈笑敢言非胜算,梦中常憶跨征鞍。
四日,李如松抵达肃川,李如松命金子贵前往顺安,通知小西行长,天朝已许和,沈游击(沈惟敬)已到。小西行长大喜,此时日军仍不知明军已到。
但是小西行长也不是傻子,借口接坠马伤足的沈惟敬,派部将竹内吉兵卫、在日华人张大膳等23人前往李如松那里探查实情。李如松让竹内吉兵卫、张大膳等3人入内宴,其余20人在外宴。
然而,意外来了,李如柏的家丁将领李宁、雷应坤,不知主将之意,率军冲进去将内宴三人生擒,杀外宴日军十三人,幸存的七人逃走。李如松本想将李宁、雷应坤二人斩首示众,被李如柏哭求请止,改为重责李宁15棍,雷应坤30棍,并传令李如柏即全军,再有不听军令擅动者枭首示众。
在强调军纪之后,李如松命全军往平壤开进,然而就作战准备而言,这次进攻是极其仓促且迫不得已的。仓促,是因为大半辎重火炮并未能运抵前线,迫不得已,除情报泄漏,最主要的一点是粮草的严重匮乏。极端严峻的粮草危机逼迫李如松,只能尽快占领平壤以减轻巨大的后勤压力。准确的说,第二次平壤之战,是主将在紧急情况下被逼无奈的情况下发起的。