李舜臣
1597年、李舜臣の後任の水軍統制使・元均が水軍単独での攻撃命令を嫌がりながらも遂行したが、漆川梁海戦(巨済島の海戦)で大敗。元均をはじめとした数名の将軍は戦死し、朝鮮水軍はほとんど壊滅してしまった。李舜臣は、水軍統制使に返り咲いて壊滅した水軍の再建を進めた。李舜臣が再任された時、朝鮮水軍には僅か12隻の戦船(板屋船)しか残っていなかった。日本の水軍は残り少ない朝鮮水軍を撃破した後、西の海に進出して陸軍と共に水陸陽動作戦を行うことを計画し、300隻余りの戦線を動員して西進した。 李舜臣は13隻の艦船で鳴梁の狭い道で荒い流れを利用して守ると、道が狭いために日本水軍は全て突入できず133隻の船を投入した。 この133隻のうち31隻が破壊された。しかし、後続の日本水軍は質・量ともに強大なため、海戦の夜には鳴梁海峡を放棄し後退した。続いて日本勢は全羅道西岸拠点を次々と制圧し、停泊地を失った李舜臣はさらに後退し、全羅道の北端まで退却した。日本水軍は全羅道西岸の制圧を実施し、姜沆や鄭希得などの多くの捕虜を得た。
全羅道・忠清道の掃討作戦を成功裏に終結させた日本軍は、当初からの作戦計画に沿って慶尚道から全羅道にかけての朝鮮南岸域へ後退して倭城群を構築した。日本軍が後退すると李舜臣の水軍は明・朝鮮陸軍と共に朝鮮南岸へ再進出し、朝鮮南岸西部にある古今島を拠点として朝鮮水軍の再建に努めた。
1598年7月、日本軍最西端の拠点であり小西行長率いる13,700人の兵が守る順天城を攻撃するため、陳璘が率いる明水軍が古今島に合流すると、李舜臣は明水軍の指揮下に入った。
従来、日本軍の補給不足を李舜臣の補給路遮断によるものと解釈されることが多かったが、補給不全が生じていたのは内陸部に進出した部隊に対してであって、全戦役を通じて九州から釜山までの海路における物資や人の流通が決定的な補給不全を起していたことはなく、したがって日本軍の補給路が李舜臣率いる朝鮮水軍によって「遮断された」と解釈するのは誤りとする見解が近年優勢となっている。日本軍の食糧不足の主な原因として、緒戦の朝鮮軍が想像以上に弱体であったため、一挙にほぼ全土を占領したため補給線が伸び切ったこと、和戦の曖昧な侵攻による食料の準備不足、日本側が食糧の現地調達を想定していたが、当時の朝鮮半島はかなりの食糧不足であったことなどが挙げられている。そして、これらは1593年からの日本本土からの補給作戦の開始と主力軍の朝鮮南部撤退によって解消されており、準備を整えた慶長の役の侵攻作戦では補給の破綻は起きていない。