公元1593年一月八日,带着让倭寇&ldo;片甲不留&rdo;的目的,李如松指挥的平壤会战正式打响。李如松先命吴惟忠的戚家军攻打日军防守最严密的牡丹峰,不要求攻克,只要求拖住日军,继而三路大军齐出攻城,先以300门大小火炮轰击,再发起冲锋。日军抵抗极为顽强,虽在明军的炮火打击下伤亡惨重,却依然用火枪齐射还击。战局胶着时,戚家军将领骆尚志率所部戚家军奇袭南门,一举攻克,平壤防线就此击破。明军乘势追杀,攻克平壤城墙,日军退入内城,又和明军打起了巷战。李如松不想无谓牺牲,见日军缩入城内工事,干脆就用火攻,将城内日军烧得鬼哭狼嚎。次日,小西行长率领残部从平壤东南门出逃,谁想平壤东南门外是条大河,慌不择路的日军仓皇渡河,淹死数千人。渡河后又被早已在河边设伏的明将李宁截杀,砍死数百。至此,平壤战役结束,明军以阵亡700人的代价收复平壤,而日军的伤亡,根据日本人自己的军事书《日本战史》里记录:日军此战共投入兵力3万多人(包括小西行长的2万守军和黑田长政的一万援军),阵亡高达2万多(受伤的还没算进去)。
平壤战后,明军一路追击,先前牛气哄哄的日军却被打出了&ldo;恐明症&rdo;,几乎对明军望风而逃。在上甘岭,竟出现了3个明军士兵俘虏100多日军的闹剧。李如松火速追击,欲一举收复朝鲜王京(今首尔),然而溃败的日军并不甘心,日本大本营经过精心筹谋,制定了一个聚歼明军的计划,即将明军诱到首尔城下,然后以优势兵力围歼。为此日军在首尔集结了6万军队,并用小股部队诱导明军南进。谁料计划赶不上变化,日本用来&ldo;诱敌&rdo;的1000多军队,在首尔北部的碧蹄馆遭遇明军前锋查大受,几下子就给打得全军覆没。日军主帅黑田长政当机立断,就在碧蹄馆设伏,就地歼灭明军。查大受的先头部队,一下子遭到数万日军包围,但明军士气高昂,用&ldo;车阵&rdo;迎战,且不断用骑兵发起反冲锋,战斗打了一天一夜,几万日军竟吃不下这支明军小部队。就在僵持不下间,不明情况的明军提督李如松率亲兵侦察前线,竟然一头撞进了碧蹄馆,和查大受一起被日军包围。&ldo;捞了彩票&rdo;的日军欣喜若狂,立刻集中兵力发起冲锋,意图&ldo;擒贼先擒王&rdo;。久经沙场的李如松毫不慌乱,出乎日军意料,劣势兵力下,李如松反而发起了反冲锋,以3000骑兵向数万日军攻击。日军猝不及防,包围圈一下子被冲开了口子,李如松趁机率部突围,日军紧紧围困,不断缠斗,恶战从一月二十六日早晨打到黄昏,李如松冲不出去,日军攻不上来,双方陷入僵持。此时,李如松部将杨元得悉情况,率1000骑兵从外围发起攻击,筋疲力尽的日军登时大溃,李如松趁机突围而出,一场惨烈的遭遇战就此结束。
碧蹄馆之战,明军前后共动用兵力5000,并非大规模战斗,但战斗过程却异常艰辛,李如松在战后的奏报里称自己被&ldo;围匝数重&rdo;,可谓艰苦之至。明军伤亡过半,但日军的情况更惨,仅黑田长政上报的阵亡名单,将领就有30人,士兵数目高达8000人。这场日军苦心发动的围歼战,并未阻止明军进攻的脚步。碧蹄馆一战死里逃生让李如松明白,日军实力犹存,很难一下消灭,因此他开始用奇计,先是在二月,派数十敢死队奇袭王京城外的龙山,将侵朝日军的粮食全部被烧毁。断粮的日军无奈,在四月退出王京,同时遣使至北京,请求&ldo;和平谈判&rdo;。明朝方面,从内阁大学士赵志皋到兵部尚书石星,都建议明军尽早结束战争,次辅张位更以永乐时期征越南一事为例,建议明军谨防陷入朝鲜战争泥潭。见日本服软,万历皇帝也表态愿意和谈,双方起初达成协议,日军撤出朝鲜,只留少量兵力驻扎朝鲜沿海,明朝军队也只留6000人驻朝,其余撤回国内。朝鲜战争的第一阶段就此结束。
但丰臣秀吉不是真心和谈,只不过利用和谈做幌子借机备战。双方使者往来密切,日方也假意接受了明军的三大和平条件:册封丰臣秀吉为明朝藩属日本国王,从朝鲜撤军,放还掳掠的朝鲜官民。实际上,从公元1593年四月停战起,日本就开始了新一轮备战。公元1593年六月丰臣秀吉颁布了&ldo;从军法&rdo;,规定凡年满16岁男性都要服兵役,同时大力购买马匹,在朝鲜沿海和日本本土训练骑兵。公元1594年八月,丰臣秀吉更用重金收买葡萄牙人,得到了葡萄牙当时的主力战船&ldo;蜈蚣船&rdo;,并下令仿制演练。公元1596年九月,依照先前和日本达成的&ldo;和平协议&rdo;,明朝使者杨方亨至日本&ldo;册封&rdo;丰臣秀吉。自以为实力大增的丰臣秀吉,此时终于露出了獠牙,他先是当众羞辱明朝使者,将明朝使者驱逐出境,继而又行反间计,在朝鲜散步谣言,说朝鲜水师大将李舜臣要造反,导致李舜臣被下牢狱。公元1597年一月,丰臣秀吉再次出兵,派15万大军侵朝,朝鲜战争风云再起。
不巧的是,这次日本侵朝,明朝国内又有战事,西南播州土司杨应龙造反,明朝正在全力镇压。因此日军压境朝鲜时,驻朝明军仅有6000多人。朝鲜方面还是一如既往地不经打,日军势如破竹,再次逼近王京。碧蹄馆之战中救李如松突围的杨元死守南元,几乎全军覆没,危急关头,由解生统领的2000蓟州兵(戚继光当年在蓟州练兵的骨血)死守稷山,与2万日军血战,成功将日军打退,为明王朝稳住了战局。此时李如松已去世,明朝以兵部侍郎刑玠为蓟辽总督,麻贵为备倭总兵,杨镐为朝鲜军务经略,率4万大军入朝。