1592年、
文禄の役が勃発し、
日本軍は朝鮮半島を北上した。同年5月18日の臨津江の戦いで
朝鮮軍が大敗を喫すると、朝鮮王朝の首都である漢城(現在のソウル)は陥落した。
国王
宣祖は北方の副都である平壌城へ避難した。彼は王子らをさらに避難させるとともに、臨津江から敗走してきたおよそ五六千の兵を平壌城に収容し、左議政の
尹斗寿を城の守将に任じた。李元翼、宋慎言、李潤徳といった重臣らも加わり、平壌城の守備体制が固められた。
小西行長率いる
日本軍の先鋒隊は、6月9日には平壌城の目前、
大同江の対岸に到達した。
日本軍は柳川調信や僧の景轍玄蘇を使者として送り、
朝鮮軍に降伏を勧告したが、朝鮮側はこれを拒否した。
日本軍の総攻撃が迫ると判断した
宣祖は、11日に平壌城を
尹斗寿に託し、さらに北方の寧辺へと避難した。
朝鮮軍は
日本軍が
大同江を渡る前に川を増やすため雨乞いを行ったが、これは徒労に終わった。そこで14日、
朝鮮軍の指揮官である金命元は、
日本軍が
大同江を渡れずにいることを見て油断していると判断し、夜襲を敢行して
日本軍の意表を突くことを計画した。彼は精鋭部隊を編成し、寧遠郡守の高彦伯と碧団僉使の柳璟令に指揮を任せ、夜襲を実行させた。
15日の夜半、高彦伯と柳璟令に率いられた
朝鮮軍の夜襲部隊は、
日本軍の一角を担う
宗義智の陣営を奇襲した。不意の攻撃を受けた宗軍は混乱し、武将の杉村智清が討たれるなど苦戦を強いられたが、
宗義智は自ら刀を振るって敵兵を討ち取るなど果敢に戦った。
朝鮮軍も李宣や任旭景といった将を失い、激しい戦闘となった。宗軍の兵士たちが態勢を立て直し集結を開始すると、夜襲に失敗し敗走を始めた
朝鮮軍の後背に、救援に駆けつけた
小西行長や
黒田長政らの部隊が襲いかかった。挟撃された
朝鮮軍は大混乱に陥り、潰走した兵士たちが
大同江に飛び込んで溺死する者が続出した。
この激戦で
日本軍も損害を被った。
黒田長政の部隊では、部将である黒田正好が矢傷がもとで戦死した。
黒田長政自身も
朝鮮軍の将が放った矢で肘を負傷したが、彼はその場で敵将を討ち取り、多くの朝鮮兵を斬るなど奮戦を見せた。敗走した朝鮮兵の中には、王城灘と呼ばれる浅瀬を徒歩で渡り、なんとか平壌城へ逃げ帰った者もいた。
大同江の渡河方法に苦慮していた
日本軍は、この朝鮮兵の逃走経路から徒歩で渡れる浅瀬があることを発見した。これを知った
日本軍は、翌16日、その浅瀬を徒歩で渡り、平壌城へと進撃した。一方、平壌城では、守将の金命元と
尹斗寿が夜襲部隊の壊滅的な敗北を知り、士気が崩壊した。彼らは城門を開き、残存兵と住民を避難させ、武器を池に放棄すると、自らは城を捨てて北方の順安へと逃走した。
日本軍は偵察部隊からの情報により、平壌城が既に放棄されていることを知った。
日本軍は抵抗なく平壌城を接収し、住民への布告を行って治安の維持を図る一方、城内に残されていた数十万石に及ぶ大量の兵糧を鹵獲することに成功した。
平壌城を占領した
小西行長ら一番隊は、城の防備を固める改築などを行った後、一旦進撃を停止した。
黒田長政は平壌城の改築が一段落すると、自己の担当する黄海道方面の守備のため帰還した。
寧辺に滞在していた朝鮮王
宣祖は、当初はさらに北東の咸鏡道にある鏡城への避難を考えていた。しかし、李恒雄らの進言により、咸鏡道では退路が断たれる危険があるため、万が一の際に
明の遼東地方へ逃れることが可能な義州へ避難すべきとの意見を受け入れた。
宣祖は李恒雄らの意見を聞き入れ、柳成龍ら側近とともに義州を目指した。悪路や従者の離散といった多くの困難を乗り越え、6月21日、ついに義州に到着した。彼は既に援軍を要請していた
明からの支援を待つこととなった。
この頃、朝鮮からの使者である李徳馨は、
明の遼東地方の副総兵である祖承訓に救援を求めていた。祖承訓はこれを快諾し、直ちに軍勢を率いて平壌へと向かうことを決定した。これにより、第一次平壌城の戦いが勃発し、これは後の
日本軍と
明軍との本格的な衝突の端緒となった。