壤城下。盘踞平壤的是日将小西行长指挥的侵朝日军第一军团。小西行长率领的日军凭借坚固的城池和先进的火器,严阵以待。八日拂晓,明军发起总攻,上百门佛郎机连续轰击平壤城头,将守城日军炸得人仰马翻,连小西行长的将旗都被炸飞。随后,明军的炮火开始延伸,轰击平壤城内各要点。第一轮炮火准备之后,明军各攻城部队开始登城,平壤各门陷入激烈的交战。
平壤日军在小西行长的督阵下拼死抵抗,依托坚固高大的城池用弓箭和火枪不断射击,同时将煤油浇下焚烧云梯,明军攻城部队伤亡迅速扩大。临近午时,明军经过激烈的战斗攻克了城北的制高点牡丹峰,全歼日军2000余名,城内日军顿时乱作一团。李如松传令全军,限在午时之前攻下平壤。明军将士蜂拥向前,火铳营和虎蹲炮也推进到城下实施抵近射击。李如松在前线督战时,坐骑被日军火枪击中,当即换马再战;其弟李如柏的头盔中弹,兄弟二人皆毫无惧色,指挥若定。将士们受到鼓舞,“无不一当百,遂克之”。可以说,作为主帅,李如松的镇定、果敢、勇猛给了明军将士巨大的精神鼓舞,是明军取得这场胜利的一个重要因素。
正午时分,名化装成朝鲜军的戚家军及辽东铁骑利用日军的麻痹轻敌攻上城南的芦门,砍倒了日军军旗,插上了明军的旗帜,明军不断攀上城头,欢呼声响彻云天。城头日军闻讯,纷纷弃城而逃,随后七星门也被明军大炮轰塌,明军骑兵突入城内。在普通门督战的小西行长下令残军退入城内的各土堡中死守。
在城内,日军残余主力约9000人龟缩在练光亭、七星、普通三座大土堡及周围的十几座小土堡里负隅顽抗。由于道路狭窄崎岖,明军的大炮推不上来,日军火力很猛,进攻部队伤亡很大。李如松果断停止攻击,采取围三缺一的战术,留出南面大道,诱使日军突围,同时派出信使给小西行长送信,大意是日军败局已定,为避免双方不必要的伤亡,只要日军撤出平壤,明军将不予拦截。小西行长接到李如松的信后犹豫不决,但战场形势迫使他发起突围。天黑后,日军派出斥候警戒,见无明军拦截,各土堡内大队人马蜂拥而出,借夜色掩护向城南杀去。
日军一路畅通无阻冲出城外,城南不远处就是大同江,时值隆冬,十里宽的江面全部