鳴梁海戦（めいりょうかいせん）は、鳴梁渡海戦ともいい、豊臣秀吉の慶長の役により慶長二年（1597年）9月16日（和暦／以下同）に陸に呼応して西進した日本水軍ととの間に起こった海戦。李舜臣の指揮する朝鮮水軍が日本水軍の先鋒の来島勢に大きな損害を与えた。しかし残存兵力の少ない朝鮮水軍は兵力温存を図り、唐笥島、於外島、七山島、法聖浦、蝟島を経由し北方の古群山島付近まで後退した。朝鮮水軍の撤退後、日本水軍は六・七里ほど追撃したが日が暮れまた水路不案内によりそれ以上は攻撃しなかった。韓国では鳴梁大捷と呼ばれ、「李舜臣率いる少数の朝鮮水軍が日本軍に勝利を収めた戦い」と認識されている。李舜臣の乱中日記には日本軍が攻めてこなくなったので安全策をはかり西上したとあるが、毛利高棟文書には朝鮮軍が「逃退」したとあり、久留島家文書には日本軍が朝鮮軍を「即時追散」したとある。いずれにせよ李舜臣は全羅右水営を放棄せざるをえず、一ヵ月後に帰還した際にはその周囲の荒れようを嘆いている。

 背景 
文禄の役後、日本と明の間で続けられた和平交渉は決裂し再征が決定された。今回の作戦計画は、「全羅道を徹底的に撃滅し、さらに忠清道にも進撃すべきこと」、「これを達成した後は、慶尚道に撤収し仕置きの城（倭城）を築城して、在番以外の諸将は帰国すること」であった。

朝鮮水軍は、李舜臣の指揮の下、間山島海戦で日本水軍を壊滅させるなど戦果を収めていたが、讒言により李舜臣が解任された。代わって元均が指揮を執ったが、巨済島海戦（漆川梁海戦）で大敗し残存兵力は大船十二、三隻になっていた。

日本軍の主力は5月から6月ごろに渡海し、7月15日に漆川梁海戦で朝鮮水軍を大破すると、陸上でも左軍と右軍の二手に編成され全羅道に向かって進撃し、左軍は南原城（南原城の戦い）を8月15日に、右軍は黄石山城を8月16日に陥落させた（黄石山城の戦い）。続いて両軍が併進して8月19日全羅道の主府全州を占領すると、左右の諸将は一堂に会して会議を行い今後の作戦方針を定めた。その内容は、三手に分けた全軍をもって忠清道に進攻した後、加藤清正・黒田長政・毛利秀元（35,000人）は直ちに慶尚道に入って加藤・黒田の居城の築城を開始すること、その他の陸軍（78,700人）は全羅道に戻って未掃討の地を北から南へと掃討してゆくこと、これに呼応して水軍（7,000余）は全羅道沿岸を進撃する方針が決定した。

日本軍による全羅道掃討作戦は順調に推移し、9月中旬には最終段階に入って残るは全羅道南部のみとなっていた。当地に存在する明・朝鮮側の戦力は右水営に拠る朝鮮水軍わずか十二、三隻に過ぎなかった。朝鮮では漆川梁海戦で水軍が壊滅的打撃を受けた後、再び李舜臣を三道水軍統制使に任命していたが、戦力的劣勢は明らかであった。この状況で日本軍は陸軍が全羅道南部で南進を続け、水軍は沿海を西進し、水陸から鳴梁海峡方面に迫っていた。

 戦闘の経過 

慶長2年(1597年)8月下旬、左軍に属した船手衆の藤堂高虎(兵数2,800)、加藤嘉明(2,400)、脇坂安治（1,200）、来島通総（600）、菅達長（200）と目付の毛利高政は全州占領後に艦船へ戻り、全羅道を北から南へと掃討を続ける陸軍に呼応して全羅道の南海岸沿いを西進し、先鋒は9月7日に於蘭浦沖に達する。碧波津（珍島の東北端の渡し口）に布陣していた李舜臣率いる朝鮮水軍はこれに対するため出撃したが、日本水軍先鋒が戦わずに立ち去ったため、追撃することができないままに碧波津に帰った。そもそも朝鮮水軍では大船が十二、三隻があるだけであり、戦力的に劣勢だったため、後続の日本水軍の集結を知るとひとまず鳴梁渡に退き、15日さらに右水営沖に移った。鳴梁渡は珍島と花源半島との間にある海峡であり、潮流が速く大きな渦を巻いている航行の難所である。

藤堂高虎らは敵の大船（本体）が近くにいることを知ってその捕獲を図り、9月16日、水路の危険を考えて全軍のうち関船（中型船）数十隻（朝鮮側記録では百三十余隻）だけを選抜して鳴梁渡へ向かった。これに対し朝鮮水軍は大船（板屋船）十二、三隻（その他後方に兵力を誇張するために動員された避難民の船百隻があったとされている。）で迎え撃つ。当初他の船は退いてしまい、一時は李舜臣の船一隻だけが立ちはだかった。帥字旗を掲げる李舜臣の旗艦は、海の中にそびえたつ城のように見えたという。旗艦の奮闘ぶりは朝鮮水軍を勇気づけ、僚船が次々と戦線に復帰した。欧米の歴史学者の認識も韓国の見解に近い。日本水軍は押し流され互いに衝突したり、密集しているところを朝鮮水軍の集中砲火を浴びた。日本水軍では来島通総以下数十人が戦死、藤堂高虎が負傷し、数隻が沈没するなどの甚大な損害を受けた。毛利高政も海に落ちたが、藤堂水軍の藤堂孫八郎と藤堂勘解由に救助された。陸上の戦いではポルトガルより伝来していた火縄銃のおかげで有利な戦いを展開した日本軍であったが、水上の戦いは必ずしもそうではなかった。日本船は船底がV字型をしており速度が速く内海を航行するのに適していたが、波の荒い外洋には不向きであった。朝鮮船は船底が平たく、海が荒れても安定していたが松の厚板をつかっていたこともあり速度が遅かった。装備の面でも朝鮮水軍は船に大砲を搭載していたが、文禄の役に当初日本水軍にはなく一方的に砲撃を受けることがあったがやがて大型船には大砲を搭載した。さらに戦法の面でも日本水軍は敵船に乗り移っての白兵戦が得意であった。それに対して朝鮮水軍は近代的な艦隊運動と砲弾より火矢をつめた砲撃戦を主とした。この時代は明治維新の時期と異なり、両国の国力や技術力に大差がなかったのである。

この海戦における朝鮮水軍の損害は軽微であったとされるが、結局のところ衆寡敵せず、夕方になると急速に退却を開始し、その日の内に唐笥島（新安郡岩泰面）まで後退している。日本水軍は水路に不案内なため、帆を上げて戦場を離脱する朝鮮水軍を追撃することは行わなかったが、翌17日には藤堂高虎・脇坂安治らが前日の戦場を見回り、敵船の皆無を確認する。実はこの時点で、同日中に朝鮮水軍ははるか遠く於外島（新安郡智島邑）まで退却していた。21日には170ｋｍ後方の古郡山島まで退却しそのまま日本水軍が引き揚げるまでそこに身を潜めていた。
これにより朝鮮水軍の撤退後、日本水軍は朝鮮水軍が陣を構えていた右水営を占領し鳴梁海峡を制圧した。

 海戦後の経緯 
日本軍では8月26日の全州会議で定められた方針に従い、一度忠清道まで進出した陸軍のうち、左軍は全羅道に戻り北から南へと掃討を続けた。全羅道北部の掃討を完了後、この海戦と同時期に開かれた9月16日の井邑会議では残る全羅道南部の掃討方針が定められ、各大名は任地に向けて進撃した。全羅道西南部も9月中旬以降日本陸軍部隊が進出するところとなり、朝鮮水軍はそれらの日本陸軍部隊の西岸部進出に圧倒される形で、その後約1ヶ月間北上して逃避せざるを得なくなった。朝鮮水軍はまともな反撃を行うこともできないままに後退を重ね、9月19日に七山海（霊光郡沖）、9月21日には遥に全羅道北端の古群山島（群山沖）まで後退している。

他方、こうした朝鮮水軍の退却を受けた日本の水軍は、鳴梁海戦の翌日には朝鮮水軍の根拠地であった右水営を攻撃し、また対岸の珍島を攻略した。さらに鳴梁海峡を突破して全羅道西南岸（現在の全羅南道西岸域）に進出し、ここを陸軍に呼応するかたちで制圧していき、姜沆や鄭希得などの多くの捕虜を得た。
これにより、日本軍の左軍及び水軍は作戦目標であった全羅道全域の掃討作戦を完全に達成した。同時期に北上を続けた右軍も稷山の戦いで明軍を撃退して忠清道を超え京畿道まで進出し、こちらも作戦目標を達成した。このため10月に入ると次の作戦目標である城郭群（倭城）の構築のため、陸軍・水軍ともに進出地から、順天、、、、唐島瀬戸口（見乃梁）、昌原（馬山）、梁山、蔚山、の新規築城予定地又は既成の城郭に移動し築城作業を開始する。

日本軍が去った後の鳴梁海峡では、ようやく10月8日になって朝鮮水軍が帰還するが、朝鮮水軍の根拠地である右水営は日本軍によって破壊された後であった。李舜臣は根拠地を古今島（莞島郡古今面）に移して朝鮮水軍の再建を図ったが、次に積極的な作戦行動を実施するのは1年以上後の順天城の戦い以降となる。

 評価 
少なく見積もっても10倍の敵に勝利を収めたとして李舜臣の奮闘ぶりは韓国内では高い評価を得ている。

朝鮮水軍のうち李舜臣の艦隊は日本水軍の先鋒を叩くことに成功したが、13隻前後の主力艦の温存策を取って全羅道北端まで撤退した。残存兵力を考えれば、本来ゲリラ戦以外考えられず最善の策であろう。

藤堂家覺書はこの戦いを以下のようにまとめ、結果朝鮮水軍が退却したと明記している。

現代の韓国ではこの戦いを“鳴梁大捷”と呼ぶなど「日本に大勝した海戦」と認識されており、日本水軍の参加兵力が「軍船133隻、運送船200隻」、損失が「沈没31隻、大破92隻、8000〜9000人が戦死」といった、戦果を250倍に誇張したと思われる創作的な主張も行われている。
実際には、例えば船手衆として左軍に加わった日本水軍の兵力は藤堂高虎（2,800）、加藤嘉明（2,400）、脇坂安治（1,200）、来島通総（600）、菅平右衛門達長（200）の7,200名であり、これに若干の他家の水軍を加えたとしても8,000人に満たないと思われる。さらに鳴梁海戦においては大型船（安宅船）を用いず、中型船である関船を選抜して運用していた旨が「高山公実録」に記されていることからも、上記に挙げた数字には無理がある。また、李舜臣自らが著した「乱中日記」には“賊船三十隻撞破”とあるだけであり、撃沈確認の記述はなく、また艦船を大破させた旨の記述もなく、対戦した敵船の大きさも、敵軍である日本側の戦死者数も記録されてはいない。同時に、自軍側に仮に軽微であっとしても、真っ当に戦闘を行っているならなにかしらの物的・人的な損害が出ていると思われるが、記録されていない。したがって、「朝鮮水軍は12〜14隻で、約10倍の兵力を持つ日本水軍のうち中型船30隻を攻撃し損害をあたえたが退却。その後、日本水軍が当該海域を掃討したのち当初の予定どうり後退した」となる。

下記に箇条書きにてまとめる。

¶現代の韓国での一部の主張
-「日本軍330隻の船を12隻で迎え撃つ」
- 「日本軍の船は31隻沈没、92隻が大破、日本軍8000人が戦死」
- 「日本軍は大打撃を受けて、朝鮮半島への西進が阻止されて、補給ラインに隘路がもたらされた」

¶上記に対する反論
- 「当時動員された日本側の船は数十隻。かつ戦闘艦ではない。朝鮮（李）側の大型船は12～14隻」
- 「そもそも8000人いない上、翌日も作戦行動できるほどにほとんどが生存しているため、8000人戦死は不可能な数字解答」
- 「日本側の被害は先鋒に立った船が何隻が沈没し、数十人が戦死した可能性がある。朝鮮側にも転落水死が数名いる。」
- 「日本側はその後、予定通りに全羅道西岸へ進出。補給ラインに問題は無かった」
- 「全羅道を撃破した後、沿岸部へ撤退するが、これは作戦開始前から決まっていた計画である」