中途島海戰（英語：Battle of Midway，日語：ミットウェー海戦）是第二次世界大戰中美國海軍和日本海军在中途島附近海域进行的一场大规模海战，主要戰鬥在1942年6月4日於中途島西北海域爆發，後續戰事一直持續至6月7日。
1942年初，日本陆海军双方初步達成南方作戰的戰略目標，但双方卻关于下一步行動存在意見分歧。在聯合艦隊司令長官山本五十六堅持下，大本營放棄向新畿內亞、斐濟、薩摩亞一帶的西南太平洋推進，轉為進攻位於中太平洋、為夏威夷群岛西北屏障的中途島。山本的戰略意圖為藉由攻擊中途島，引誘在珍珠港事件倖免於難的美軍航空母艦救援，再以日軍的優勢「機動部隊」加以擊滅，從而摧毀美軍在太平洋的抵抗能力。然而，日本海軍因5月珊瑚海海戰導致兩艘航母（翔鶴、瑞鶴）需要整補，以致僅能以四艘航母參戰，兩軍艦隊實力因此差距縮小。而日軍無線電通訊密碼遭到美軍部分破譯對最後勝負至為關鍵。美國太平洋艦隊總司令切斯特·尼米茲根據破譯訊息提供的情報，迅速制訂反埋伏作戰，集結三艘航母並向中途島加派陸基飛機，使日軍計畫中的伏擊提前破產，不過美軍事前亦僅大略知曉日軍企圖，並不清楚其艦隊的位置。在6月4日日軍開始空襲中途島前後的數個小時，對彼此位置的偵查形成了決定勝負的關鍵。結果，美軍在6月4日成功發現並伏擊了日方的航母艦隊，最終在航空母艦對戰中成功擊敗日軍並取得击沉四艘日军航母的戰果。
中途島海戰是太平洋戰爭的轉捩點。日军损失4艘航空母舰、1艘重巡洋舰、全部約250架艦載機、3,500名人员；美军损失1艘航空母舰、1艘驱逐舰、150架飞机、307名人员。美軍憑藉此場戰役的勝利，扭轉了開戰以來的被動，並恢復美日兩國在西太平洋的海權均勢。日本海軍則失去開戰以來的戰略主導權，隨後於南太平洋與盟軍陷入消耗戰，在第二次世界大戰中漸走下坡。


戰略背景 = 日軍部署 =
1941年12月7日，日本發動南方作戰，進攻英國及荷蘭在東南亞的殖民地，並偷襲珍珠港的美國太平洋艦隊，引發太平洋戰爭。1942年3月，日軍已經攻佔香港、馬來亞、新加坡及關島，大致控制了緬甸、荷屬東印度及菲律賓的戰局。遠在西南太平洋，日軍也在美軍增援前搶先佔據了拉包爾，獲得新畿內亞的戰略要地。
不過，日軍對於後續戰略卻意見分歧。在東京大本營，海軍部先後提出兩個方案：第一，向印度洋方向進攻，佔領英屬錫蘭，鼓動印度民族主義者反抗英國，最終在波斯灣一帶與北非戰場的德國及義大利軍隊會合，此方案受海軍少將黑島龜人支持。第二，向西南太平洋方向進攻，取道新畿內亞、斐濟、薩摩亞一帶，切斷同盟國與澳洲之間的通訊，甚至佔領部分澳洲，阻止美國以南太平洋為反攻基地，此方案受海軍大將永野修身支持。陸軍部則認為戰爭的關鍵在於中國戰場，而且軍隊在緬甸逐漸出現補給困難，反對海軍在海外擴大戰線。至於聯合艦隊司令部方面，司令長官山本五十六認為美國航空母艦才是首要目標。早在珍珠港事件後，山本五十六和參謀長宇垣纏便開始策劃在中太平洋一帶展開攻勢，派兵佔據夏威夷瓦胡岛，進而引誘並殲滅迎擊的美軍航母艦隊。山本五十六的策略是確保「機動部隊」（日本航母艦隊）可以在太平洋予取予求，趕在美國艾塞克斯級航空母艦和獨立級航空母艦服役前建立日軍防禦圈，爭取與美國談判的空間和籌碼。
1942年1月到4月，陸軍部、海軍部、聯合艦隊三方一直就戰略制定爭持不下。在1月10日和13日的大本營會議，陸軍部和海軍部否決進攻夏威夷，決議在斐濟和薩摩亞展開行動。陸軍參謀總長杉山元和海軍軍令部總長永野修身都認為進攻夏威夷過於冒險，既要承受嚴重傷亡，又無法長期守備。相比之下，向斐濟和薩摩亞進攻能夠孤立澳洲，日本陸軍無需投入大量兵力，美國海軍亦必須遠離基地作戰，對日軍更為有利。隨後在2月到3月，海軍部亦放棄佔領錫蘭，改為派遣機動部隊空襲該處的英國海軍設施。這項計畫最終引發印度洋空襲（3月31日至4月10日）。
另一方面，山本五十六和宇垣纏雖然同意進攻夏威夷過於冒險，卻認為只要把登陸目標轉向中途島，仍然能夠引誘美國艦隊，並在暗地裡繼續策劃中太平洋方案。2月到3月，聯合艦隊司令部表面上配合海軍部的西南太平洋戰略，一方面派出機動部隊空襲達爾文（2月19日），又在2月20日至23日特別邀請大本營代表參與大和號戰艦的兵棋推演，研究進攻錫蘭，支援印度洋空襲。3月6日，美軍兩艘航空母艦（列星頓號和約克鎮號）空襲拉包爾，再在10日突襲登陸萊城及薩拉毛亞的日軍。雖然日軍損傷輕微，陸軍卻非常擔心類似事態重演，負責該戰區的井上成美（第4艦隊司令長官，時駐特魯克環礁）更認為這是美軍反攻的徵兆。井上成美提請聯合艦隊派機動部隊增援西南太平洋，盡早佔領莫士比港（即MO作戰）。結果山本五十六派參謀三和義勇前往特魯克，並向井上成美表示可以在一個月後提供航母支援（三和義勇在3月13日抵達，當時第1航空艦隊即將開赴印度洋）。
4月2日，山本五十六透過參謀渡邊安次向大本營提交進攻中途島的方案，隨即引發連串爭論。在4月10日和14日的兩次會議，海軍軍令部第一部長福留繁的參謀三代辰吉批評山本五十六高估了中途島的戰略價值。他詳細分析山本五十六方案的多個漏洞，指中途島面積細小，無法建造軍港及大型機場，難以維持補給，更對歐胡島沒有直接威脅。美軍大可以棄守中途島，並派陸軍轟炸機定期空襲，無需冒險出動艦隊迎擊。三代辰吉重申海軍應以截斷美國與澳洲之間的通訊為首要目標，無法反駁的渡邊安次只能向山本五十六請示意見，然後回覆大本營稱山本五十六主意已決、甚至不惜再次請辭（山本五十六在1941年就曾要脅辭職，迫使永野修身同意偷襲珍珠港，而聯合艦隊司令部亦因此獲得了戰略制訂權力）。大本營雖然有所保留，最終再次向山本五十六屈服。作為交換條件，山本五十六必須同時進攻中途島（MI作戰）和阿留申群島（AL作戰）。山本五十六也向井上成美讓步，並在4月12日指示翔鶴號和瑞鶴號（隸屬第5航空戰隊）在空襲印度洋後經台灣馬公前往特魯克，並在MI和AL作戰前支援井上成美攻佔莫士比港（MO作戰）。
4月16日，福留繁將戰略方案呈交昭和天皇御前會議。兩日之後（18日），美軍航母突然出現在日本以東海域650英里，自大黄蜂号航空母舰派出陸軍轟炸機空襲東京。這使得日軍上下大為震撼，無意中為山本五十六擺平反對聲音。此前，日軍對美國航母突襲本土雖然有所準備，並且在外海600-700英里範圍部署了漁船預警網（當時艦載機的續航距離約為200英里），卻沒有預料美國航母搭載航程較遠的陸軍轟炸機。事實上美軍企業號和大黃蜂號就遭到日本預警漁船發現，而正從印度洋返國的第1航空艦隊也派出赤城號、蒼龍號及飛龍號三艘航母，由馬公趕往追擊。但因為美軍航母早已調頭，結果日軍一無所獲。空襲東京本身造成的損傷極為輕微，但大本營和聯合艦隊對於無法保護皇居引以為恥，決心盡快殲滅美國航母並展開報復。4月20日，大本營參謀本部第一部長田中新一正式批准MI作戰，並表示陸軍願意提供部隊佔領中途島。


= 美軍情報準備 =

與日軍相反，美軍在太平洋戰爭爆發後完全處於戰略被動。美國艦隊總司令欧内斯特·金和新任美國太平洋艦隊總司令切斯特·尼米茲，把防衛夏威夷及美國與澳大利亚之間的聯繫視為首要任務。雖然美國航艦避過珍珠港襲擊，但太平洋艦隊只有列星頓號、薩拉托加號、約克鎮號、企業號四個航艦特遣艦隊可供調遣，其中薩拉托加號1月遭到潛艇攻擊而要回國維修，而剛剛服役的大黃蜂號要到5月才加入太平洋艦隊。換言之，太平洋艦隊只能勉強兼顧兩面防線，沒有把握與日軍艦隊一決勝負。金恩和尼米茲不時在調動航艦上意見分歧，但兩人大致上都同意保留實力。
1942年1月到4月，美軍航艦除了在1月掩護陸戰隊增援德屬薩摩亞，基本上只進行報復攻擊，嘗試提升美軍士氣。2月1日，美軍航艦發動馬紹爾及吉爾伯特群島突襲，再在2月17日空襲新畿內亞的拉包爾、萊城及薩拉毛亞。3月尼米茲又勉強同意釋出兩艘航艦參與杜立德空襲，在4月18日象徵式空襲東京。
不過，太平洋艦隊卻擁有情報優勢，並迅速得悉日軍的MO作戰計畫。美國海軍在1924年於華盛頓海軍部設立代號OP-20-G的辦公室，負責破譯日軍通訊密碼，並在1932年和1936年先後於馬尼拉（代號Station Cast）和珍珠港（代號Station Hypo）設立分站。太平洋戰爭爆發前，馬尼拉分站負責破譯日本海軍行動通訊的JN-25密碼，而珍珠港分站則負責日本海軍較少使用的將領通訊密碼，兩者都未能察覺日軍籌劃突襲珍珠港。珍珠港事變後，尼米茲在12月17日下令珍珠港分站改為破譯JN-25，而馬尼拉分站則在菲律賓陷落前遷至澳洲墨爾本。到1942年3月，珍珠港分站成功破譯部分JN-25的關鍵字詞（比如「攻略部隊」、「拉包爾」），亦能透過JN-25的通訊流量推測日軍行動。4月5日，珍珠港分站截取到聯合艦隊向加賀號下達的命令，並發現「攻略部隊」與地區代號「MO」之間有所關聯。情報站站長約瑟夫·羅徹福特判斷MO是莫士比港的代號，隨即把破譯焦點放到井上成美及日軍駐特魯克第4艦隊相關的通訊。4月12日，珍珠港分站又從英國的錫蘭情報站得悉日軍第5航空戰隊（翔鶴號和瑞鶴號）接獲「特別命令」，並發現日軍多艘軍艦正向特魯克集結。
得悉情報後，尼米茲判斷日軍即將派出兩艘至四艘航艦及登陸部隊進攻莫士比港，但美軍的四艘航艦卻有兩艘（企業號和大黃蜂號）前往空襲東京，只有列星頓號和約克鎮號可供調遣。縱然形勢不利，尼米茲仍決定派出兩艦迎擊，並在4月24日飛往舊金山與金恩商討作戰方案。當日珍珠港進一步破譯日軍通訊，準確指出日本航艦將在5月3日左右進入珊瑚海，而登陸艦隊則會在5月10日進攻莫士比港。


= 珊瑚海海战 =
1942年5月4日至5月8日，珊瑚海海戰爆發。美軍雖然在海戰損失了列星頓號，而約克鎮號亦遭到重創，卻成功阻止MO作戰。井上成美被迫撤回登陸部隊，祥鳳號被擊沉，翔鶴號遭到重創，瑞鶴號亦損失過半艦載機。由於日本海軍把飛行機隊和所屬航母視為一體，沒有把機隊整編到另一艘航母的習慣（比如用翔鶴號的艦載機和飛行員填補瑞鶴號上的缺額），使翔鶴號和瑞鶴號都無法參與6月的MI作戰。另外，井上成美因為撤出戰場而無法確定戰果，使得聯合艦隊司令部震怒。倘若美軍確實在珊瑚海失去兩艘航艦，那麼MI作戰的目標就已經達成一半。雖然山本五十六在檢視翔鶴號（5月17日返抵吳市）的損傷後對井上成美的決定有所改觀，但礙於MI作戰已經箭在弦上，聯合艦隊仍只用四艘航艦進攻中途島。
另一方面，美軍在珊瑚海海戰期間又在破譯JN-25上取得突破，並得悉日本海軍即將進攻中途島和阿留申群島。5月7日和8日，珍珠港情報站先後截獲「第一航空戰隊」（赤城號、加賀號）、「第二航空戰隊」（蒼龍號、飛龍號）、「第三戰隊兩艘戰艦」、「第八戰隊」（重巡洋艦利根號、筑摩號）準備在5月底行動。情報站同時透過通信流量，發現日軍正向塞班島集結，預備向「AF方位」進攻。羅徹福特率領的破譯人員一致認為「AF方位」是指中途島。他們早在3月就曾經破譯一架日本水上飛機的通訊：該架飛機向基地彙報中途島附近天氣時，表示自己正在飛越「AF」地區。然而，珍珠港情報站的直屬上司約翰·R·列德文（主理華盛頓OP-20-G辦公室）卻提出異議，認為「AF方位」是指斐濟和薩摩亞，並獲得金恩和海軍部附議。自珍珠港事件後，OP-20-G便經常和珍珠港情報站有所摩擦。列德文認為羅徹福特應該先向自己彙報，而不是透過中介參謀向尼米茲直接提供情報；羅徹福特則認為列德文不懂得破譯和處理情報。
尼米茲在5月15日上午聽取珍珠港情報站報告，同意「AF方位」是中途島的判斷，並決定主動迎擊日軍艦隊。他認為美軍擁有情報優勢，有很大機會能夠伏擊日軍航艦。美軍只要能夠集結三艘航艦，再加上中途島的陸上機場，足以與日軍四艘航艦抗衡。此外，由於日軍航艦遠離基地作戰，只要受到中等程度損害，也很可能因無法維修而要棄艦。尼米茲一方面說服金恩和海軍部接納珍珠港的情報，另一方面下令約克鎮號、企業號和大黃蜂號趕回珍珠港集結，並向中途島機場增派各種飛機。珍珠港情報站則想出向華盛頓驗證「AF方位」的辦法，在5月19日請中途島向珍珠港傳送公開的無線電訊息，謊稱島上海水淡化設施故障；5月21日，珍珠港和墨爾本情報站同時截獲日軍信息，稱「AF方位缺乏飲用水」，就此確認「AF方位」即代表中途島。兩站更透過交換和比對訊息，確認日軍只有四艘航艦進攻中途島、翔鶴號和瑞鶴號已經回國，機動部隊將會從中途島西北面展開攻勢。5月25日，太平洋艦隊司令部參謀會議決定迎擊日軍，隨即展開下一步戰術部署。5月26日上午，珍珠港甚至破譯出機動部隊的進攻日期（中途島時間6月3日，聯合艦隊在當日稍後推遲到6月4日）。


戰術部署 = 日軍 =

聯合艦隊在1942年4月底制定了MI作戰的行動計畫。按照當時的方案，日軍假設美軍艦隊會遭到突襲，且必須從歐胡島出發迎擊。為引誘美軍艦隊進入陷阱，MI作戰會在N-3日（東京時間6月4日，中途島6月3日）與AL作戰同步展開。當日南雲忠一率領第1航空艦隊進入中途島西北海域，並派艦載機轟炸美軍機場。第1航空艦隊編有六艘航艦（赤城號、加賀號、蒼龍號、飛龍號、翔鶴號和瑞鶴號）、兩艘高速戰艦（榛名號、霧島號）、兩艘重巡洋艦（利根號、筑摩號）、11艘驅逐艦（野分號、嵐號、萩風號、舞風號、風雲號、夕雲號、卷雲號、浦風號、磯風號、谷風號、濱風號）及擔任驅逐艦群領隊艦的長良號。
MI作戰N-2日，第1航空艦隊會再次空襲中途島，為登陸部隊開路。雖然日軍認為美軍艦隊會在三日內抵達中途島海域，卻假設南雲忠一無須同時應付美國航艦和支援中途島。第1航空艦隊亦只預備了10架飛機偵察和警備美軍艦隊。到N-1日，藤田類太郎會率領第11航空戰隊佔領中途島西面的庫里環礁，戰隊由兩艘水上機母艦（千歲號、神川丸號）、驅逐艦早潮號及一艘運兵艦組成。
MI作戰N日（東京6月7日，中途島6月6日），日軍陸軍和海軍將登陸並佔領中途島。先鋒為田中賴三的登陸艦艇，搭載約5,000名陸軍和海軍陸戰隊。由於陸軍和海軍各自擁有運兵艦，這些艦艇分別由橫須賀（陸）和吳市（海）出發，先在塞班島集結，然後由田中賴三的一艘輕巡洋艦（神通號）和11艘驅逐艦（黑潮號、親潮號、雪風號、天津風號、時津風號、不知火號、霞號、陽炎號、霰號）護送往中途島。緊隨登陸艦艇的是栗田健男四艘重巡洋艦（熊野號、鈴谷號、三隈號、最上號）及兩艘驅逐艦（荒潮號、朝潮號），負責登陸時的砲火掩護。最後則是近藤信竹的主力部隊，包括兩艘高速戰艦（金剛號、比叡號）、四艘重巡洋艦（愛宕號、鳥海號、妙高號、羽黑號），七艘驅逐艦（村雨號、五月雨號、春雨號、夕立號、朝雲號、峯雲號、夏雲號，外加驅逐艦群領隊艦由良號）及一艘輕型航艦（瑞鳳號）。
聯合艦隊司令部預計在N日當天便能夠攻佔中途島，而美軍艦隊會在登陸開始後才抵達中途島南面海域。近藤信竹將會餌誘美軍艦隊北上，南雲忠一的航艦則會駛往中途島東北偏東約500英里水域埋伏，直到美軍上鉤才南下突襲。山本五十六指揮的主力部隊部署在南雲忠一以西300英里，包括三艘主力戰艦（旗艦大和號、長門號、陸奧號）、一艘輕型航艦戰鬥群（鳳翔號及護衛艦夕風號）、兩艘水上機母艦（千代田號、日進號）及八艘驅逐艦（吹雪號、白雪號、叢雲號、初雪號、磯波號、浦波號、敷波號、綾波號，外加驅逐艦群領隊艦川內號）。山本五十六刻意讓主力部隊與作戰區域保持距離，避免美軍因為實力懸殊而拒絕交戰，但這也使得主力部隊無法有效支援南雲忠一和近藤信竹。山本五十六也認為美軍航艦將會與戰艦分開行動，而他的主力部隊將負責對付美軍的戰艦編隊。
最後，山本五十六編組了高須四郎的阿留申警戒部隊，負責MI作戰和AL作戰的後備支援，並部署在主力部隊以北，包括四艘舊式戰艦（日向號、伊勢號、扶桑號、山城號）、兩艘輕巡洋艦（北上號、大井號）及12艘驅逐艦（朝霧號、夕霧號、白雲號、天霧號、海風號、山風號、江風號、涼風號、有明號、夕暮號、時雨號、白露號）。當山本在N日南下與美軍交戰時，高須四郎會從後接替空缺。此外，山本五十六亦籌備第二次K作戰，派飛艇到歐胡島進行偵察，又調派小松輝久的第六艦隊14艘潛艇到夏威夷群島海域，監察美國艦隊動向。倘若一切順利，第1航空艦隊會在殲滅美軍後返回特魯克，支援西南太平洋戰事，而各個戰艦編隊則會啟程返國，或者支援阿留申的作戰行動。
日本海軍部和聯合艦隊分別在5月5日和12日開始下達行動計畫指令，卻陸續出現問題。首先，翔鶴號和瑞鶴號在5月初珊瑚海海戰受損，被迫退出MI作戰。這使得機動部隊在進攻中途島前便失去125架艦載機（翔鶴號63架、瑞鶴號62架）的戰力。機動部隊其餘四艘航艦共搭載了248架艦載機，包括赤城號60架（24架零戰、18架九九式艦上爆擊機（俯衝轟炸機）、18架九七式艦上攻擊機）、加賀號74架（27架零戰、20架九九式、27架九七式）、飛龍號57架（21架零戰、18架九九式、18架九七式）、蒼龍號57架（21架零戰、16架九九式、18架九七式、兩架彗星俯衝轟炸機試作機）。第二，由於MI和AL作戰規模過於浩大，行動時間表又欠缺彈性，使得不少軍艦準備不足。南雲忠一在5月25日向司令部彙報，指機動部隊因為補給問題而無法如期在5月26日出發，迫使山本把MI和AL作戰順延一日（N-3日改為東京時間6月5日，中途島6月4日）。第六艦隊的潛艇因為維修延誤和避開美軍嚴密的空中偵察，要到中途島時間6月2日到4日之間才陸續抵達夏威夷海域。最後，K作戰因為美軍增派水上飛機到法國護衛艦環礁而無法執行，這導致聯合艦隊無法掌握美國艦隊動向，只能相信對方會在預想海域出現。


= 美軍 =
美軍的戰術部署相對簡單。第16特遣艦隊和第17特遣艦隊負責伏擊日軍航艦，駐守中途島的飛機和潛艇則盡力攻擊日軍艦隊。尼米茲原本打算任命第16特遣艦隊司令小威廉·海爾賽負責戰事的全權指揮，但海爾賽卻因為嚴重皮膚病而必須住院治療。海爾賽在5月26日率領企業號和大黃蜂號返抵珍珠港，並推薦自己的巡洋艦群指揮官雷蒙德·斯普魯恩斯接管第16特遣艦隊，尼米茲當即同意。由於第17特遣艦隊司令法蘭克·傑克·弗萊徹比斯普魯恩斯資深，尼米茲下令由弗萊徹負責中途島作戰的戰術指揮。5月27日，弗萊徹亦率領約克鎮號返抵珍珠港。當時約克鎮號估計需要90日才能夠完全修復，但情報指出日軍即將在一週後進攻中途島，尼米茲因而決定繞過多項海軍安全程序，命令船塢在三日內將約克鎮號維修至可作戰狀態，並且把薩拉托加號留守在夏威夷的艦載機隊挪來填補約克鎮號的艦載機缺額。5月28日，斯普魯恩斯率領第16特遣艦隊先行出發，而弗萊徹則在5月30日率領第17特遣艦隊出港緊隨其後。
由於判斷日軍機動部隊的航艦將會在中途島西北海域展開攻擊，美軍第16特遣艦隊和第17特遣艦隊預計在6月2日駛至中途島東北偏北約325英里水域埋伏，以同時提防日軍艦隊對中途島或夏威夷、美國西岸方向可能發動的攻擊，若日軍動態確如尼米茲的預期發展，美軍兩支特遣艦隊將在6月3日派出艦載機襲擊日軍機動部隊的左翼。考慮到日軍航艦可能分開行動，第16特遣艦隊的兩艘航艦會先行發動攻擊，而第17特遣艦隊的約克鎮號航艦艦載機隊則從後支援。尼米茲特別強調採用消耗戰策略，盡量避免與日軍航艦或艦隊正面決戰。倘若美軍交戰失利，其艦隊必須立即撤退，以免損失更多航艦和巡洋艦。
第16特遣艦隊的主力為企業號和大黃蜂號兩艘航艦，兩艦各自搭載了79架艦載機（企業號27架F4F戰鬥機、38架SBD無畏式俯衝轟炸機、14架TBD蹂躪者式魚雷轟炸機，大黃蜂號27架F4F、37架SBD、15架TBD）。此外，第16特遣艦隊尚有六艘巡洋艦（明尼阿波利斯號、新奧爾良號、文森號、北安普敦號、彭薩科拉號、阿特蘭大號）及九艘驅逐艦（菲爾普斯號、艾爾文號、莫納根號、沃登號、巴區號、康寧漢號、賓漢號、艾利特號、莫雷號）。第17特遣艦隊則由約克鎮號領軍，搭載75架艦載機（25架F4F、37架SBD、13架TBD；約克鎮號的艦載機隊因先前珊瑚海海戰的戰損而有所調整，艦上原有的第5轟炸機中隊（VB-5）仍隨艦出征，第5偵察機中隊（VS-5）及第5魚雷機中隊（VT-5）則分別由原駐於薩拉托加號航空母艦的第3轟炸機中隊（VB-3）及第3魚雷機中隊（VT-3）取代，艦上原有的第42戰鬥機中隊（VF-42）剩餘成員及新補充的戰鬥機飛行員，則加入從薩拉托加號調來的第3戰鬥機中隊（VF-3）隨艦出戰）。艦隊尚有兩艘巡洋艦（阿斯托里亞號、波特蘭號）及五艘驅逐艦（莫里斯號、羅素號、哈曼號、安德森號、休斯號）。
此外，尼米茲亦向中途島緊急增派飛機駐守。海戰爆發前，中途島共有海軍飛機37架（31架PBY卡特琳娜水上飛機、6架TBD毀滅者式魚雷轟炸機）、陸戰隊飛機68架（21架F2A戰鬥機、7架F4F、19架SBD、21架SB2U擁護者式俯衝轟炸機）、陸軍23架（19架B-17轟炸機、4架B-26轟炸機）。雖然中途島上的陸戰隊飛機不少已經落伍，但連同三艘航母在內，美軍仍在字面上擁有361架作戰飛機。最後，尼米茲調派多艘潛艇前往中途島，並在西面至北面海域組成環型防禦圈。由於時間倉促，美軍最終只有12艘潛艇（抹香鯨號、飛魚號、河豚號、鱒魚號、茴魚號、鸚鵡螺號、石斑魚號、海豚號、貓鯊號、烏賊號、白楊魚號、鼠尾鱈號）趕及在海戰前抵達中途島，並組成第7.1特遣艦隊。此外，三艘潛艇（獨角鯨號、潛水者號、鱗魨號）組成第7.2特遣艦隊，在法國護衛艦環礁充當後援；四艘潛艇（大海鰱號、白斑狗魚號、長鬚鯨號、黑鱸號）則組成第7.3特遣艦隊，在歐胡島北部巡邏。


戰役經過 = 前奏（6月3日） =

由於日軍將MI作戰順延一日，美軍艦隊在6月2日完全撲空。6月3日清早，美軍先接獲阿留申群島的荷蘭港遭到日軍艦載機空襲的消息，造成美軍指揮階層些微不安；但到了上午9時，美國海軍第44巡邏機中隊的PBY偵察機「草莓九號」（Strawberry 9）率先發現日軍艦隊蹤跡，該機回報在中途島以西700英里、262方位發現日軍艦隊「主力部隊」（Main Force），有6艘大型軍艦，之後又補充報告目視約11艘艦艇、航向090方位、速度19節；由於偵察報告中並未提及發現日軍航艦，尼米茲將此偵察報告和JN-25破譯信息對比，判斷該艦隊應為近藤信竹的中途島攻略部隊，而非南雲忠一率領的機動部隊航艦艦隊，因此尼米茲一方面提醒弗萊徹繼續按兵不動、等待針對日軍航艦艦隊的偵察結果，另一方面則派出中途島的長程轟炸機攻擊這支已被發現的日軍艦隊。美軍PBY偵察機率先發現這支日軍中途島攻略部隊，讓尼米茲得以確定其判斷正確：日軍本次真正的攻擊目標是中途島，而非稍早遭到攻擊的阿留申群島。美國陸軍航空隊的九架B-17轟炸機銜命出擊，找到田中賴三所率領的日軍登陸艦艇，但所有投下的炸彈都被日軍艦隻成功迴避；美國海軍四架改裝PBY偵察機隨後抵達，並向登陸艦隊發射Mk 13型魚雷，其中一枚魚雷擊中一艘補給艦，造成11人死亡，13人受傷（一位日軍軍官認為該枚魚雷的彈頭並未引爆）。雖然這波空襲顯示MI作戰已經敗露，但山本五十六和南雲忠一都繼續按照原有計畫行動。


= 中途島空襲（6月4日0430-0715） =

6月4日上午4時30分，日軍四艘航艦開始派出艦載機空襲中途島。空襲之前，第1航空艦隊參謀長草鹿龍之介主張應派出精銳飛行員組成中途島空襲部隊，以一舉完成任務，較資淺的飛行員則留作艦上預備機；艦隊航空參謀源田實則認為精銳飛行員宜保留以對付可能出現的美軍艦隊，較資淺飛行員已足堪承擔空襲中途島的任務，倘若真有需要第二次攻擊中途島，屆時視情況再動用精銳飛行員也不遲；最後南雲忠一採用了源田實的意見。赤城號和加賀號派出18架零式戰鬥機和36架九九式艦上爆擊機（俯衝轟炸機），蒼龍號和飛龍號則派出18架零式戰鬥機和36架九七式艦上攻擊機。空襲機隊由友永丈市大尉指揮，並在上午5時左右完成編隊，向中途島出發。為了保險起見，南雲忠一按照山本五十六的指示，在機庫保留大約一半的艦載機，以應付可能出現的美軍航艦：赤城號和加賀號預先為機庫的九七式搭載848公斤（1,870磅）的九一式魚雷；飛龍號和蒼龍號的九九式則預定搭載250公斤（551磅）對艦用炸彈，但因通常程序是在出擊前始進行裝載，因此當時飛龍號及蒼龍號的預備艦載機尚未搭載炸彈。
南雲忠一同時採納源田實的建議，下令兩架空載的九七式轟炸機和八架零式水上偵察機升空，搜索日軍艦隊東面的半圓區域。不過，筑摩號往054方位角的偵察機因為故障而要提早折返，而1號偵察機（077方位角）更因為飛在雲層之上（另一說為飛錯方向），完全錯過了美軍第16、第17特遣艦隊。利根號的兩架偵察機因為故障等原因，要到4時45分和5時正才成功起飛。
另一方面，上午4時左右，中途島的5架美軍海軍陸戰隊F4F，以及來自美國海軍七個巡邏機中隊（VP）的32架PBY，也向西搜索日軍航艦艦隊的蹤跡（32架PBY分成兩部分執行遠程搜索任務：22架從中途島的沙島（Sand Island）出發，10架從中途島的東島（Eastern Island）出發），陸軍則派出15架B-17再次攻擊田中賴三的登陸艦隊。到4時20分，弗萊徹派出約克鎮號艦上6架F4F和第5轟炸機中隊（VB-5）10架SBD向北方索敵。由於企業號和大黃蜂號已經在飛行甲板準備攻擊機隊，斯普魯恩斯沒有派出SBD加入偵察。
上午5時34分至6時，美國海軍第23巡邏機中隊（VP-23）的PBY偵察機「草莓五號」（Strawberry 5）首先發現日軍航艦部隊的蹤跡，同時目擊飛往中途島的日軍攻擊機隊在其三點鐘方向，在以無線電回報此發現之後，「草莓五號」便飛進雲層中以避免被日軍機隊發現。稍後，另一架PBY「草莓十二號」（Strawberry 12）也發現日軍攻擊中途島的機隊位於其五點鐘方向，但該機以無線電報告此發現時忘記表明自己的呼號（call sign），造成美軍艦隊在判斷敵情上的些許困擾，不過綜合兩架PBY的報告，美軍已能確定日軍攻擊中途島機隊的大略位置。其後「草莓五號」也從雲層的縫隙中發現了兩艘日軍航艦，旋以無線電報告兩艘日軍航艦及艦隊主體（main body of ships）位於中途島的330方位、距離中途島180英里，航向135方位，速度25節。中途島守軍隨即派出所有飛機前往轟炸日軍航艦，美軍海軍陸戰隊也在上午6時派出所屬第221戰鬥機中隊（VMF-221）的24架F2A、F4F戰鬥機，由帕克斯少校（Floyd B. "Red" Parks）率領前往攔截日軍機隊（有一架起飛後因引擎故障而被迫返回中途島，實際參加空戰者為23架）。由於美軍各軍種之間欠缺合作經驗，飛機性能參差不齊，使得攻擊非常混亂。陸戰隊的戰鬥機成功伏擊了六架日軍轟炸機，但隨即被性能較佳的零式戰鬥機擊潰，只有11人生還。中途島所有可以執勤的飛機都在6時45分前成功起飛。日軍機隊在7時抵達中途島時，發現島上機庫和跑道已經幾乎清空，只能轟炸島上各種軍事設施，但未能有效摧毀中途島機場的跑道；友永丈市即時用暗語「カワ・カワ・カワ」向南雲忠一彙報，要求對中途島發動第二波攻擊。
南雲忠一在7時05分接獲友永丈市的訊息，並初步同意發動第二波空襲，但此時機動部隊正忙於派出零式戰鬥機攔截從中途島起飛來襲的美軍飛機。7時10分左右，美國海軍六架TBD魚雷轟炸機和陸軍四架B-26轟炸機率先抵達，分別投放魚雷攻擊飛龍號和赤城號，雖然美軍所有魚雷都沒有命中，且只有三架飛機成功逃走，但一架B-26在墜海前幾乎撞上赤城號的艦橋。
由於中途島的航空兵力對艦隊構成嚴重威脅，草鹿龍之介主張應先徹底消滅中途島上的反抗力量；再加上南雲忠一仍不知日軍原本預定偵察珍珠港美軍艦隊動靜的「K」行動實際上並未執行，在認為美軍艦隊未必真的會出現的情況下，南雲忠一決定爭取時間，他在7時15分下令赤城號和加賀號上已搭載魚雷的九七式艦上攻擊機換裝對地的800公斤（1,760磅）炸彈，準備向中途島發動第二波空襲，同時依源田實的建議，在返航的友永丈市機隊著艦後，這批機隊將裝載魚雷作為預備武力，以備攻擊可能出現的美軍艦隊；至於蒼龍號和飛龍號機庫的九九式艦上爆擊機（俯衝轟炸機），則由於原本就尚未裝載重型攻擊武器（250公斤的對地炸彈或對艦炸彈），所以此時沒有更換武器搭載種類的需要，而是直接裝載250公斤對地炸彈。


= 美軍第一波艦載機出擊（0700-0900） =

美軍方面，弗萊徹要到6時03分，才從珍珠港司令部接獲中途島PBY的偵察報告，被發現的日軍艦隊此際距離美軍艦隊約135英里；由於PBY「草莓五號」的報告只提及發現兩艘日軍航艦，弗萊徹擔心日軍航艦可能分散行動，決定先派企業號和大黃蜂號的機隊對日軍航艦發動攻擊，而約克鎮號則等待進一步報告再作行動。不過，當時海面吹起偏弱東風，企業號和大黃蜂號必須以時速25節以上背向日軍艦隊迎風航行，才能夠讓艦載機有足夠升力起飛。換言之，企業號和大黃蜂號將會與日軍航艦拉開距離，間接加大其艦載機所需的航距。斯普魯恩斯和首席航空參謀米爾斯·白朗寧爭辯後，把起飛時間延遲至上午7時。
不過，企業號和大黃蜂號的出擊計畫卻有嚴重漏洞。首先，根據白朗寧的指令，最先起飛的F4F戰鬥機或SBD轟炸機需要在艦隊上空盤旋，等待最後起飛的TBD魚雷轟炸機，然後才一同前往預定目標。這使得F4F和SBD不必要地消耗大量燃料。第二，企業號的艦載機隊隊長克勞倫斯·麥克拉斯基採取西南偏南的飛行方向，而大黃蜂號的艦載機隊隊長斯坦厄普·林（Stanhope C. Ring）則選擇接近正西的航向。兩條路線都完全錯過了日軍機動部隊。大黃蜂號機隊的航向可能是由艦長馬克·米契爾決定的，他推測尚未被發現的兩艘日軍航艦位置在已知日軍航艦位置的後方80哩，並且據此決定航向。
上午7時05分，企業號和大黃蜂號的飛機相繼起飛，原本的出擊計畫很快就被打亂。企業號原先的起飛程序為第6戰鬥機中隊（VF-6）8架F4F（負責航艦空中警戒）、第6偵察機中隊（VS-6）17架SBD、第6轟炸機中隊（VB-6）16架SBD、第6戰鬥機中隊10架F4F（為轟炸機護航）、第6魚雷機中隊（VT-6）14架TBD；但第6轟炸機中隊有四架SBD在預熱引擎時發生故障無法起飛，而且必須使用甲板前方的升降台移回機庫。此外，由於第6轟炸機中隊搭載較重的1,000磅炸彈，須由艦艉飛行甲板開始滑行始能順利起飛，導致企業號必須等待它們全部起飛，接著才能從機庫將第6戰鬥機中隊和第6魚雷機中隊的飛機移出就位；第6魚雷機中隊隨後又有飛機引擎故障，要花費時間搶修。結果，一直到7時45分，最先出發的32架SBD和10架F4F仍然在企業號上空盤旋。由於企業號在7時40分截獲日軍偵察機的無線電通訊，斯普魯恩斯判斷艦隊行蹤已經暴露，下令企業號已經起飛的飛機立刻出發。魚雷機中隊長尤金·林西為了追上已出發的企業號艦載機群，採取較為西南航向，並與戰鬥機中隊長詹姆士·格雷（James S. Gray）約定稍後會合。
大黃蜂號的艦載機隊進一步打亂美軍的出擊計畫。大黃蜂號的起飛程序為第8戰鬥機中隊（VF-8）10架F4F（為轟炸機護航）、第8偵察機中隊（VS-8）15架SBD、第8轟炸機中隊（VB-8）19架SBD、第8魚雷機中隊（VT-8）15架TBD，並一直進行起飛作業至接近8時。但大黃蜂號機群起飛後不久，魚雷機中隊長約翰·渥頓認為艦載機隊隊長斯坦厄普·林（Stanhope C. Ring）的航向錯誤，並且在無線電互相爭吵。渥頓在8時30分違抗命令，率領他麾下的第8魚雷機中隊轉向西南飛行，恰巧被企業號的F4F發現，格雷誤以為林西的第6魚雷機中隊已經跟上，隨即在高空為實際上是大黃蜂號的第8魚雷機中隊進行護航，反使得企業號的第6魚雷機中隊失去戰鬥機的掩護。大黃蜂號的SBD和F4F最終沒有找到日軍艦隊，多架飛機更沒有聽從機隊隊長命令而各自返航。
最後，弗萊徹在8時30分仍未獲得日軍另外兩艘航艦的消息，遂決定派出約克鎮號部分機隊攻擊。與企業號和大黃蜂號不同，弗萊徹的航空參謀事先已與艦載機隊隊長和四個中隊長交換意見，並同意先向西南飛行，如果沒有發現日軍航艦，則轉向東北搜索。弗萊徹亦採用更有效率的起飛程序，讓第3轟炸機中隊（VB-3）17架SBD和第3魚雷機中隊（VT-3）12架TBD率先起飛，然後再派第3戰鬥機中隊（VF-3）6架F4F隨後加速追上會合。第5轟炸機中隊（VB-5）的SBD則留在約克鎮號待命。9時06分，約克鎮號的出擊機隊全數升空，但該艦也因為採取飛行作業所需的頂風航向而遠離企業號和大黃蜂號。


= 美軍陸上機攻勢、日軍發現美軍艦隊（0700-0917） =

另一方面，日軍艦隊自從在7時空襲中途島之後，就接連遭到美軍潛艇、中途島陸上飛機和後來的艦載魚雷機攻擊。首先，美軍鸚鵡螺號潛艇在6時58分發現友軍飛機向海平面飛去（事後證明是從中途島起飛的6架TBD），隨後北方天空出現大量防空砲火，鸚鵡螺號判斷該處應為日軍機動部隊所在，旋即向該處移動，卻被高空巡弋的日軍零式戰鬥機發現，日軍艦隊立刻派出嵐號驅逐艦前來攻擊；鸚鵡螺號深潛迴避深水炸彈後，繼續嘗試在水下追蹤日軍艦隊。
南雲忠一在7時15分下令準備發動對中途島的第二次攻擊，各艦的待命艦載機開始裝載對地炸彈；赤城、加賀兩艦上的九七式艦上攻擊機因而更換武裝，將原本搭載的魚雷改為對地用炸彈，以向中途島發動第二波空襲。但在7時28分，利根號的4號偵察機（朝100度方位角飛行）向赤城號報告發現「10艘美軍軍艦」（即美軍第16特遣艦隊）；諷刺的是，4號偵察機中途可能遭到美軍PBY攻擊，又為了彌補早上的延誤而提早向北飛行，才誤打誤撞發現美軍艦隊。南雲忠一在7時45分左右接獲報告，卻對此情報感到困惑：如果4號偵察機的情報屬實，那麼筑摩號的1號偵察機（朝077度方位角飛行）應該會正面遭遇美軍艦隊，但卻未接到1號偵察機有任何發現的消息（因該機飛抵美軍艦隊上空時，正飛在雲層上方，遂未能發現下方的美軍艦隊）。南雲忠一下令先中止九七式艦上攻擊機的換裝炸彈作業，同時立刻以無線電要求4號偵察機確認美軍艦隊組成，這則無線電有部分訊息被企業號和珍珠港截獲，又反過來驅使企業號機隊提早出發。
南雲忠一此時陷入進退維谷境地。當時美軍艦隊在日軍機動部隊的側翼出現，幾乎肯定擁有航艦，但日軍航艦卻無法有效回應。由於早上迎擊美軍TBD和B-26的零式戰鬥機有不少已經受損或耗盡彈藥，日軍四艘航艦的飛行甲板正在收回和重新派出零式戰鬥機以保護艦隊（共出擊31架，已降落17架）。此外，赤城號與加賀號機庫的九七式艦上攻擊機已有大約三分之一（15架）即將完成換裝對地炸彈的作業，而先前空襲中途島的友永丈市機隊卻預計在8時15分（半小時後）返抵艦隊，並需要佔用四艘航艦飛行甲板約莫一小時的作業時間以進行降落。換言之，南雲忠一若不立即下令赤城號和加賀號的九七式艦上攻擊機及已搭載了對地炸彈之飛龍號、蒼龍號的九九式艦上爆擊機（俯衝轟炸機）起飛出擊，就得要等待一個半小時後才能夠再攻擊中途島或對付美軍艦隊。然而，派出編組不齊的攻擊機隊並不符合日本海軍戰術教條，日軍航艦也沒有足夠的零式戰鬥機可派出掩護攻擊機隊。
接獲7時45分的報告後，南雲忠一與草鹿龍之介、源田實等參謀軍官商討對策，同時等待利根號的4號偵察機進一步報告。但日軍艦隊很快便陸續遭到美軍機隊來自多方位的襲擊，引起不少混亂。7時53分，霧島號戰艦發射煙霧，表示美軍空襲即將來臨。由於航艦迴避轟炸時會使得飛行作業非常危險，權衡各種因素後，已下令暫停九七式艦上攻擊機武器更換作業的南雲忠一決定先派出戰鬥機掩護航艦，預定在擊退來襲美軍機隊後，接著收回友永丈市的返航機隊，同時整備機庫內待命機隊的武器裝載，之後再派出新一波機隊攻擊美軍艦隊。美軍機群很快來到日軍艦隊上空，先是洛夫頓·亨德森的16架來自中途島的美軍陸戰隊SBD由東南面逼近，由沃爾特·斯威尼率領的12架美國陸軍B-17則從西北面高空而來。由於從未接受俯衝轟炸訓練，陸戰隊的SBD未能擊中飛龍號及蒼龍號，至7時55分，陸戰隊的SBD有6架遭日軍零式戰鬥機擊落，亨德森本人也因此陣亡（日後美軍攻佔瓜達康納爾島後，遂用亨德森之名為島上的機場命名以紀念其英勇）。8時10分，美國陸軍的B-17分成三隊攻擊赤城號、蒼龍號和飛龍號，但同樣無一命中，B-17則安全飛走。友永丈市的機隊在8時05分開始返抵母艦，由於無法降落，部分零式戰鬥機和九九式艦上爆擊機索性加入空戰。與此同時，美軍鸚鵡螺號潛艦在7時55分伸出潛望鏡窺探日軍機動部隊，很快就被日軍飛機發現，長良號隨即率領驅逐艦前來攻擊，鸚鵡螺號則再次深潛迴避。
正當日軍艦隊忙於迴避空中和水下攻擊，同時冒險緊急收回及派出戰鬥機之際，利根號的4號偵察機先後傳來三次無線電報告：7時58分，4號偵察機報告美軍艦隊航向（080方位），又於8時11分報告美軍艦隊為「五艘巡洋艦、五艘驅逐艦」，最後在8時20分稱「發現疑似一艘航艦」；但礙於美軍的持續攻擊，日軍機動部隊仍然無法展開應對行動。8時24分，躲過深水炸彈攻擊的鸚鵡螺號又再伸出潛望鏡，並向霧島號發射兩枚魚雷（其中一枚卡彈）。霧島號迅速迴避，並向鸚鵡螺號齊射右舷艦砲，嵐號則又再趕來投放深水炸彈，霧島號及嵐號兩艦因而逐漸掉隊，脫離了機動部隊艦群。8時27分，赤城號再次緊急轉向，迴避美軍陸戰隊12架SB2U俯衝轟炸機的攻擊，這些SB2U最終轟炸了距離較近的榛名號戰艦，但依然無一命中。
到8時30分，美軍空襲終於暫告一段落；此際第2航空戰隊司令山口多聞向南雲忠一建議立刻出動業已完成武器裝載的艦載機攻擊美軍航空母艦，南雲忠一根據其現有情報，判斷其與美軍艦隊的距離足以安全地先收回攻擊中途島後返航的日軍機群後再行攻擊，同時收回機群期間也可完成第二波艦載機的武器換裝作業，且能避免返航滯空的中途島攻擊機隊可能因油料耗盡墜海而造成的無謂損失，因此未接受山口多聞的建議。南雲忠一下令收回友永丈市的機隊，並將已完成裝載800公斤對地炸彈的部分九七式艦上攻擊機重新換裝為魚雷，同時也命令飛龍號和蒼龍號上的九九式艦上爆擊機（俯衝轟炸機）將所搭載的250公斤對地炸彈換裝為250公斤對艦炸彈，準備攻擊美軍艦隊。利根號的4號偵察機在8時45分報告發現「額外兩艘巡洋艦」，又在8時55分報告「10架魚雷機向機動部隊方向飛行」（約克鎮號的魚雷機）。為確認4號偵察機的情報，南雲忠一派出蒼龍號上飛行速度較快的彗星試作機前往索敵，並命令已油料不足的4號偵察機留在原地待命。南雲忠一在8時55分向山本五十六報告「在8時發現一艘航艦、五艘巡洋艦、五艘驅逐艦，正開始追擊」，然後在9時17分下令艦隊轉向東北偏東（070方位）航行。當時蒼龍號和飛龍號尚未收回所有機隊，加賀號和赤城號則分別在8時50分和8時59分完成收回機隊作業。在此過程中，飛龍號和蒼龍號正在機庫為九九式艦上爆擊機（俯衝轟炸機）換裝250公斤對艦炸彈，赤城號和加賀號也約有15架九七式艦上攻擊機正在進行重新裝載魚雷的作業。


= 美軍魚雷機攻勢（0917-1040） =

南雲忠一下令艦隊轉向東北後僅一分鐘（9時18分），機動部隊發現美軍飛機逼近，隨即掉頭向西拉開距離，增派零式戰鬥機升空攔截。首先抵達的是大黃蜂號私自脫隊、由渥頓率領的第8魚雷機中隊15架魚雷機，這些飛機在15分鐘內被零式戰鬥機全數擊落，只有蓋伊（George Gay）少尉一人生還，他的飛機射向蒼龍號的魚雷也沒有命中，卻延誤了日軍航艦機庫作業。蒼龍號和飛龍號也因為迴避攻擊而逐漸與赤城號和加賀號分散。利根號的4號偵察機在9時38分獲准返航，筑摩號則第二次派出5號偵察機，接替4號偵察機的位置。
與此同時，企業號的第6魚雷機中隊14架魚雷機在遠處被日軍機動部隊的防空砲火吸引，及時修正飛行路徑，由南面向加賀號發動攻擊，迫使機動部隊轉向北方。第6魚雷機中隊隊長林西一直無法聯絡上第6戰鬥機中隊隊長格雷，後者則在雲隙目擊了大黃蜂號第8魚雷機中隊的攻擊過程，卻沒有看到任何魚雷機返航，於是繼續在高空等待無線電通訊。由於沒有戰鬥機掩護，企業號的魚雷機攻勢到10時10分左右被零式戰鬥機擊潰，只有5架魚雷機成功返航，也未能擊中加賀號。不過，日軍的零式戰鬥機已耗盡20毫米機砲彈藥，四艘航艦也只能儘快收回並再派出護衛戰鬥機。格雷因為F4F戰鬥機的燃料不足決定返航，並在9時52分打破無線電緘默，向企業號報告發現兩艘日軍航艦。這時候蒼龍號終於發現在上空盤旋已久的F4F機群，立即派出零式戰鬥機追擊，但一無所獲。
由於美軍所有攻勢都告失敗，南雲忠一判斷日軍艦隊有能力保持安全，於是他在10時向山本五十六、近藤信竹、田中賴三和小松輝久報告，表示機動部隊正轉向東北，將會進攻美軍的小規模艦隊，然後恢復轟炸中途島；登陸部隊可以按計畫準備進攻。不過，約克鎮號的第3魚雷機中隊12架魚雷機卻在10時06分由東南面逼近，使得機動部隊又再進入迴避狀態。約克鎮號的艦載機隊是當天唯一沒有走散的美軍攻擊機隊，發現日軍航艦後，約克鎮號的第3轟炸機中隊17架SBD俯衝轟炸機決定向北攻擊已拉開距離的日軍航艦，而6架戰鬥機則掩護魚雷機隊攻擊飛龍號。面對超過15架零式戰鬥機，約克鎮號的12架魚雷機最終只有5架成功投下魚雷，2架成功返航；但第3戰鬥機中隊隊長約翰·薩奇卻與隊友首次運用「薩奇剪」戰術，不但有效拖延時間，更反過來共同擊落4架零式戰鬥機。約克鎮號魚雷機隊對飛龍號的攻勢一直持續至10時40分。


= 美軍俯衝轟炸機重創日軍三艘航艦（1020-1045） =

10時20分，美軍有兩組俯衝轟炸機隊同時逼近日軍艦隊。麥斯·萊斯利率領約克鎮號第3轟炸機中隊的17架SBD準備從東北面攻擊蒼龍號，企業號艦載機隊隊長麥克拉斯基則率領第6轟炸機中隊和第6偵察機中隊共33架SBD由南面迫近赤城號和加賀號。企業號轟炸機隊起初的飛行路徑偏離日軍機動部隊，一直毫無發現，飛機燃料也捉襟見肘。但麥克拉斯基和麾下同袍決定繼續任務，並在9時35分轉向朝315方位進行方型搜索。9時55分，麥克拉斯基在高空發現嵐號驅逐艦：該艦在驅趕鸚鵡螺號後，以極速35節向北與機動部隊會合，在海上留下清晰可見的航跡；麥克拉斯基立即率隊尾隨嵐號驅逐艦，終於在10時正發現日軍艦隊。
戰後很長時間，西方史學界都受到淵田美津雄的描述影響，認為日軍航艦在10時20分已經準備好派出第二波攻擊機隊。這個觀點亦衍生大量揣測和傳聞，包括日軍航艦為了快速更換武裝，使得飛行甲板滿佈炸彈、魚雷及加滿燃油的艦載機。但近年針對雙方參戰飛行員、日軍飛機出勤紀錄及美軍航空照片的考據，證實當時日軍航母的飛行甲板只有少量換班的零式戰鬥機，所有九七式艦上攻擊機及九九式艦上爆擊機（俯衝轟炸機）機隊都還在機庫甲板待命。不過，由於日軍軍艦的觀察哨和防空砲都聚焦在低空的魚雷機，負責艦隊防空任務的零式戰鬥機群又忙於追趕薩奇的F4F戰鬥機隊和仍在攻擊日艦的約克鎮號魚雷機隊，因而沒有注意到自高空來襲的美軍俯衝轟炸機群。
10時22分，加賀號多名官兵突然發現正在俯衝的美軍轟炸機群，艦長岡田次作大佐下令向左急轉，但為時已晚。由於溝通上的誤會，第6轟炸機中隊和第6偵察機中隊同時衝向加賀號，只有理查·海爾賽·貝斯特（第6轟炸機中隊隊長）和兩架僚機及時轉向攻擊距離較遠的赤城號；這導致加賀號遭到大量SBD連續轟炸，並被超過4枚500磅炸彈和若干枚1,000磅炸彈直接命中。加賀號的艦橋被炸毀，連同艦長岡田次作在內的多名高階軍官陣亡；另有多枚炸彈擊穿飛行甲板並在機庫爆炸，隨即引爆機庫甲板停放的大量飛機及武器彈藥，點燃了艦載機的航空燃料，滅火二氧化碳和水簾等消防設施也全數失靈。數分鐘內，加賀號的指揮管制系統瓦解，陷入一片火海。
蒼龍號是下一艘遇襲的日軍航艦。10時24分，蒼龍號正在收回零式戰鬥機，並從無線電得悉加賀號中彈。幾乎同一時間，蒼龍號的觀察哨也發現約克鎮號的俯衝轟炸機群，艦長柳本柳作大佐隨即下令向左急轉。雖然蒼龍號的機動性較佳，但對轟炸的防禦力卻非常薄弱。約克鎮號的機隊有三架SBD投彈命中目標，其中第一枚炸彈擊中蒼龍號艦島前方靠近升降機位置，並於機庫甲板爆炸；第二枚炸彈擊中飛行甲板中央，並一直貫穿到下層甲板爆炸，切斷鍋爐的所有蒸汽管道，使得引擎停擺；第三枚炸彈則擊中飛行甲板後方。三枚炸彈都在機庫引發嚴重火災和二次爆炸，造成大量死傷。由於火勢無法控制，艦長柳本柳作大佐在10時45分下令棄艦，但由於通訊系統全毀，不少艦上官兵都沒有收到命令。
與此同時，赤城號正在朝向西北航行，嘗試與約克鎮號的魚雷機群拉開距離。赤城號在10時20分看到美軍俯衝轟炸機攻擊其西面的加賀號，隨即向右轉圈閃避。10時24分赤城號恢復直線航行不久，赫然發現放棄攻擊加賀號的三架美軍SBD正朝左舷逼近，遂再次向右急轉。美軍的第一枚炸彈在赤城號左舷側落海爆炸並激起強勁水柱，沖毀了艦島的無線電天線；由理查·海爾賽·貝斯特（第6轟炸機中隊隊長）投下的第二枚炸彈則擊中了飛行甲板中央升降機，並在機庫引爆；第三枚在艦艉附近水下爆炸，炸断了控制舵机的四根钢缆中的三根，并将飞行甲板向上掀起成卷曲状。赤城號起初的火勢沒有像加賀號和蒼龍號般劇烈，仍能保持穩定速度航行。到10時42分，赤城號的舵机最后一根钢缆断裂，舵叶卡死在向右30度，機庫甲板中央的火勢也開始失控蔓延，逐漸波及艦橋。在艦長青木泰二郎大佐和參謀長草鹿龍之介的敦促下，南雲忠一終於同意撤離，並轉移到長良號巡洋艦上指揮。


= 日軍反擊重創約克鎮號（1045-1455） =

10時40分後，美軍飛機陸續返回母艦，而第8戰隊司令阿部弘毅則暫時接掌機動部隊。10時45分，重巡洋艦筑摩號的5號偵察機報告發現美軍艦隊。阿部弘毅首先向山本五十六轉達情報，然後才報告赤城號、加賀號、蒼龍號遇襲大火，準備派飛龍號反擊。阿部弘毅在10時50分才向山口多聞（第2航空戰隊司令）下達進攻命令，但山口多聞早在三艘航艦遇襲時就下令緊急準備機隊。他也在接下來的海戰中接手航空作戰的指揮權。10時54分，飛龍號派出小林道雄率領的第一波攻擊機隊（9架零式戰鬥機及18架九九式艦上爆擊機；其中12架九九式搭載250公斤對艦炸彈，6架九九式搭載250公斤對地炸彈），全部飛機在10時58分升空完畢。
11時10分，日軍重巡洋艦筑摩的5號偵察機傳來美軍第17特遣艦隊的位置（機動部隊070方位，距離90英里），而蒼龍號的彗星試作機也在同一時間發現美軍第16特遣艦隊。由於彗星試作機的無線電故障，山口多聞仍然不知道美軍有兩支航艦部隊。在這段指揮空窗期，阿部弘毅和南雲忠一同時準備向第17特遣艦隊反擊。阿部弘毅等待南雲忠一轉移指揮期間，已經下令筑摩號等巡洋艦準備水面作戰。南雲忠一在11時27分登上長良號後，亦下令重組機動部隊，向東迎擊美軍。近藤信竹在中午亦表示攻略部隊的高速戰艦正前來增援。
11時59分，約克鎮號的雷達發現小林道雄率領的攻擊機隊來襲，已逼近至30英里的距離；這時約克鎮號正在收回早上出擊的機隊，只能依靠空中警戒的F4F、尚未降落的SBD以及艦隊的防空砲攔截日機。小林道雄率領7架九九式艦上爆擊機（俯衝轟炸機）成功突圍，其中3架成功擊中約克鎮號前方、中央和後方的飛行甲板。雖然小林道雄在攻擊過後失蹤，但這波空襲已造成約克鎮號的雷達失靈、兩座鍋爐毀壞，艦體也多處起火；約克鎮號因此逐漸失去動力，最終在12時40分於海上停駛，全艦通訊系統更一度中斷。弗萊徹立即決定將旗艦轉移至阿斯托里亞號重巡洋艦，留下艦長艾略特·巴克麥斯特上校指揮搶修，約克鎮號的機隊則向東北飛到企業號和大黃蜂號降落。斯普魯恩斯同時調派多架F4F、2艘巡洋艦和2艘驅逐艦南下，增強約克鎮號的防空火力。
另一方面，日軍正在等待情報和整編艦隊，導致飛龍號的第二波攻擊機隊遲遲沒有起飛。山口多聞在12時10分從無線電得悉飛龍號派出的第一波機隊正在攻擊美軍航艦，但不知其戰果如何。山本五十六在12時20分終於打破無線電緘默，下令暫緩佔領中途島和阿留申基斯卡島，並調派近藤信竹的戰艦、栗田健男的巡洋艦和瑞鳳號航艦前往支援南雲忠一進行水面作戰。山本五十六也下令角田覺治盡快率領第4航空戰隊（龍驤號和隼鷹號）從阿留申海域南下增援。下午1時，山口多聞接獲其部下對一名約克鎮號飛行員戰俘的審訊結果，才終於得悉美軍有三艘航艦參戰。不久，蒼龍號的彗星試作機返回飛龍號並投下訊息，確認美軍共有兩支航艦艦隊，這促使南雲忠一再次下令派出偵察機索敵，而友永丈市則在下午1時30分率領飛龍號第二波攻擊機隊出發（6架零式戰鬥機、10架九七式艦上攻擊機）。由於約克鎮號已經受損，山口多聞特別指示友永丈市的機隊攻擊尚未受損的美軍航艦，盡量擴大戰果。
在飛龍號第二波機隊出擊的同時，約克鎮號的損管人員即將撲滅火勢，部分鍋爐也開始恢復運作。1時40分，約克鎮號以20節的速度重新航行，艦長巴克麥斯特上校隨即下令為滯留艦上的第3戰鬥機中隊加油；但因友永丈市的攻擊機隊在1時55分於距離美軍艦隊35英里處被彭薩科拉號重巡洋艦的雷達偵知，使得F4F戰鬥機群必須提早起飛；由於約克鎮號沒有起火冒煙，友永丈市誤以為自己進攻的是另一艘航艦，友永丈市視死如歸的出擊也衍生了不少逸聞，但實際上他並未如傳聞所說的擊中甚至撞上約克鎮號，而是被薩奇的F4F擊毀。薩奇對友永丈市的座機印象深刻，因為該架飛機尾翼塗有獨特的徽紋，而其駕駛員在左機翼和機身起火後仍出色地維持穩定飛行，直到進入攻擊距離和投下魚雷後才墜海解體。事實上，當天擊中約克鎮號的是橋本敏男和他的一架僚機，這兩枚魚雷在2時42分擊中約克鎮號左舷，引發大火，動力系統和發電機房癱瘓，舵機亦因為斷電而卡死。不久，約克鎮號再次停駛，並且迅速進水而向左傾斜，迫使艦長巴克麥斯特上校在2時55分下令棄艦。


= 美軍第二波艦載機重創飛龍號（14:45-14:55） =

美軍航艦在上午已經計劃第二波攻擊。弗萊徹在11時30分派出約克鎮號上待命的10架SBD搜索西至北方海域，希望找到日軍剩餘的航艦。約克鎮號第一次遇襲後，斯普魯恩斯非正式地接掌戰術指揮。他從返航的企業號SBD飛行員口中得悉日軍有四艘航艦共同行動，但只有三艘嚴重受損。由於飛龍號的位置仍然不明，因此斯普魯恩斯否決白朗寧立刻出擊的提案，只下令企業號和大黃蜂號準備機隊。當時美軍三艘航艦的魚雷機隊幾乎全滅，戰鬥機和轟炸機也因為戰鬥和用盡燃料等原因而損失慘重。企業號上只剩下36架SBD（14架來自約克鎮號），大黃蜂號則有21架SBD。
下午2時45分，約克鎮號派出偵察的SBD發現飛龍號，斯普魯恩斯立即下令企業號和大黃蜂號準備出擊，但大黃蜂號的航空指揮卻再次陷入混亂。3時10分，艦長馬克·密茲契上校臨時中斷作業並清空艦艉甲板，收回7架F4F戰鬥機和11架在中午迫降中途島的SBD；因此，當斯普魯恩斯下令在3時30分開始出擊時，密茲契只能匆忙重新準備出擊機隊。大黃蜂號要到4時正才開始派出機隊，但過程中又有2架飛機故障而要收回，其時企業號的24架SBD早已飛向目標。由於耽誤了出擊時機，大黃蜂號在派出16架SBD後便被迫中止作業。
山口多聞原本計劃在4時30分派出第三波攻擊機隊，但因為飛行員過於勞累而推遲到6時。當時飛龍號只剩下13架零式戰鬥機（已升空）、4架九九式艦上爆擊機（俯衝轟炸機）和5架九七式艦上攻擊機，但山口多聞仍希望可以擊傷第三艘美軍航艦（然而如同前述，實際上日軍之前兩次擊傷的是同一艘航艦約克鎮號），盡量擴大戰果。4時45分，從企業號起飛的攻擊機隊發現飛龍號，並打算同時攻擊護航的榛名號戰艦，但由於飛龍號成功迴避了最初的攻擊，原本要轟炸榛名號的機隊臨時決定轉向夾攻飛龍號；此舉雖然引起美軍機隊混亂，卻成功摧毀飛龍號。飛龍號的前部甲板遭到4枚炸彈命中，艦體嚴重毀壞並引發大火。大黃蜂號的SBD機隊在5時20分抵達時，判斷飛龍號已經受到致命傷，改為攻擊護航的筑摩號和利根號，只是無一命中。5時42分，美軍12架B-17轟炸機（4架來自中途島、8架來自夏威夷）加入攻擊。雖然B-17的炸彈沒有命中，機組員卻用重機槍掃射飛龍號甲板，摧毀一座防空砲及殺死數名砲手。


= 雙方調整部署（6月4日下午至6月5日早上） =

6月4日傍晚，美日雙方都在重整部隊。美軍方面，弗萊徹在5時32分率領第16特遣艦隊與第17特遣艦隊會合，留下休斯號驅逐艦看守已經棄艦的約克鎮號。當斯普魯恩斯向弗萊徹請求新的指示時，弗萊徹大方地回覆會跟隨斯普魯恩斯行動，直接將海戰指揮權交給斯普魯恩斯。斯普魯恩斯在傍晚收回所有飛機後決定避免與日軍夜戰，艦隊隨即掉頭向東移動，並在午夜轉向正北行駛，到6月5日清晨4時才再次向西航行，準備應付日軍第二日的攻勢。
中途岛在19点30分起飞了SBD轰炸机，并在整个夜间出动PT鱼雷艇搜索被击伤的日本航空母舰。都没有找到目标而返回。
日軍方面，南雲忠一在6月4日下午一直把搶救航艦放在首位，但各艦火勢始終無法控制。蒼龍號在10時45分下令棄艦，並在傍晚7時13分被磯風號用3枚魚雷擊沉 (另外也有觀點認為蒼龍號是爆炸沉沒）。加賀號在遇襲後仍然維持大約2至3節速度航行，損管人員和被困的工程人員一直在崗位拚死奮力滅火，但火勢仍完全失控。到下午1時，加賀號終於停駛並斷電。由於通訊系統癱瘓，很多官兵都不知道艦長已經陣亡，部分軍官開始自行下達棄艦命令，而天皇御照也在1時25分轉移到萩風號驅逐艦。加賀號在下午2時遭到美軍潛艦鸚鵡螺號攻擊，但鸚鵡螺號發射的4枚Mk 13魚雷全數故障，擊中加賀號的一枚魚雷更斷成兩截。下午4時40分，加賀號的飛行長天谷孝久以代理艦長的身分下令棄艦，南雲忠一也在下午5時向山本五十六報告加賀號已經毀棄的消息。加賀號最終在7時25分被萩風號發射魚雷擊沉。 也有觀點認為加賀號是爆炸沉沒，並非被日軍自行擊沉。
另外，赤城號的機庫在早上11時35分和下午3時先後發生兩次強烈爆炸，使得火勢逐漸失控。傍晚7時15分，日軍工程師確認赤城號無法修復，艦長青木泰二郎於7時20分下令棄艦，並請求艦隊予以擊沉。由於赤城號是機動部隊旗艦，並且歷史悠久，聯合艦隊的將領和參謀群對於是否放棄赤城號發生激烈爭論。幾經周折，山本五十六在6月5日清晨終於決定擊沉赤城號；當天清晨4時50分，舞風號、萩風號、野分號和嵐號輪流向赤城號各發射一枚魚雷，其中三枚擊中並爆炸，赤城號終於在清晨5時20分沉沒。飛龍號在6月4日傍晚7時10分仍能以28節速度航行，但由於火勢失控和二次爆炸，到晚間9時23分也失去動力而無法行駛。山口多聞在6月5日凌晨2時30分向山本五十六表示飛龍號已經無法挽回，艦長加來止男大佐則同時下令棄艦，不過兩人都決定留在飛龍號與艦共沉。5時10分，卷雲號向飛龍號發射2枚魚雷後離開，但飛龍號沒有立刻沉沒。
除了搶救航母，南雲忠一也有考慮與美軍艦隊進行水面作戰，但礙於情報混亂而遲遲沒有實行。至6月4日傍晚9時，機動部隊仍未掌握美軍艦隊的規模、位置和航行方向。南雲忠一估計美軍仍然有最少3至4艘航艦可以作戰，而且正在向西進擊，因此決定放棄計畫並率領機動部隊向西北撤退。由於大和號沒有收到最新情報，山本五十六仍在策劃水面作戰；他在晚間7時15分下令機動部隊和中途島攻略部隊立即追擊「已被擊潰、正在向東敗退」的美軍艦隊，又於7時20分下令栗田健男所率領的第7戰隊所屬巡洋艦群和伊168號潛艦前往砲擊中途島。在得悉機動部隊正在撤退後，山本五十六和宇垣纏對南雲忠一的決策失去耐性。晚上10時55分，山本五十六解除了南雲忠一的職務，把機動部隊交給近藤信竹指揮，並下令準備夜戰，但南雲忠一卻拒絕執行近藤信竹的調動命令，阿部弘毅也沒有釋出手下的巡洋艦（當時仍在拯救飛龍號的乘員）。
隨著時間過去，由於美軍艦隊遲遲未見蹤影，山本五十六終於面對現實，在6月5日0時15分下令南雲忠一和近藤信竹率領艦隊與自己會合，隨後命令栗田健男掉頭返航，但栗田健男卻要到凌晨2時30分才收到命令。這時候熊野號、鈴谷號、三隈號、最上號四艘重巡洋艦已經駛至距離中途島50浬海域，並且被美軍河豚號潛艇發現；在混亂之中，最上號以高速撞上三隈號，導致最上號艦艏嚴重損毀，只能以12節速度航行，栗田健男只好留下輕傷的三隈號保護最上號，自己率領另兩艘巡洋艦撤退。伊168號潛艦沒有接獲任何撤退命令，但向中途島發射8枚砲彈後就遭到岸砲還擊，被迫暫時後撤。凌晨2時55分，山本五十六始正式停止中途島作戰，下令全體艦隊撤退。


= 後續戰事（6月5日至7日） =

6月5日早上，山本五十六的主力部隊即將與近藤信竹會合，但南雲忠一的機動部隊殘部卻遲遲未見。山本五十六派出鳳翔號的老舊魚雷機前往搜索，而機動部隊要到下午1時才陸續與主力部隊會合。考慮到美軍的航艦集結到中途島，山本五十六批准細萱戊子郎重新進攻阿留申群島。上午7時，鳳翔號的魚雷機意外發現尚未沉沒的飛龍號及若干生還者，迫使山本五十六調派谷風號驅逐艦將其擊沉。上午8時，筑摩號偵察機發現了在海上漂浮的約克鎮號，仍在附近海域的伊168號潛艇隨即前往攻擊。
美軍艦隊在6月5日受到情報問題困擾。河豚號潛艇不但沒有攻擊受損的兩艘日軍重巡洋艦，更向珍珠港傳送殘缺不存的發現報告。要到上午6時，斯普魯恩斯才得悉日軍艦隊正在撤退。這使得第16特遣艦隊需要花費不少時間拉近距離。美軍隨後的偵察多次發現起火的飛龍號，使得斯普魯恩斯懷疑日軍仍有一艘航艦可以作戰。雖然中途島在日出前已經派出PBY和B-17索敵，但企業號和大黃蜂號到下午3時12分左右才開始派出飛機攻擊飛龍號。由於飛龍號早在上午9時前後沉沒，美日雙方都沒能找到預定目標。谷風號隨後遭到中途島和美軍艦載機集中攻擊，但只受到輕傷。由於天色漸黑，斯普魯恩斯下令企業號向天空打開探照燈，指引美軍艦載機返航降落。最上號和三隈號也在本日上午遭到中途島的B-17、SBD和SB2U轟炸機攻擊，不過沒有受損；2艘巡洋艦在下午獲得荒潮號和朝潮號2艘驅逐艦加入護航。
6月6日，美軍偵察機再次發現最上號和三隈號，並一度誤傳日軍艦隻編隊中有戰艦和航空母艦。企業號和大黃蜂號的機隊在早上9時開始攻擊2艘重巡洋艦。由於最上號在搶修時丟棄了所有魚雷，因而在遭到4枚炸彈擊中後並未引起連環爆炸，損傷相對輕微；同行的三隈號則遭到至少5枚炸彈擊中，並引爆艦上魚雷，使得大火一發不可收拾。下午三隈號開始棄艦後，這支日軍艦隊又遭到美軍第二波艦載機攻擊，但最上號和荒潮號只受到輕傷。三隈號最終在傍晚沉沒。不過，美軍的約克鎮號也在同日遭到日軍伊168號潛艦攻擊，使得進水程度急劇惡化，護航的哈曼號驅逐艦也遭擊沉。約克鎮號最終在6月7日早上沉沒。
山本五十六在6月6日和6月7日仍嘗試以瑞鳳號航艦引誘美軍艦隊夜戰，但斯普魯恩斯在6月6日晚上收回機隊後便撤出戰場補充油料。由於未能搜索到美軍艦隊，山本五十六在6月7日晚間率領艦隊掉頭返回日本。中途島海戰至此結束。


影響 中途島海戰是太平洋戰爭其中一場關鍵戰役，對交戰雙方都有深遠影響。短期而言，日軍雖然仍能維持戰局，但日美海軍航空戰力之間的差距大為縮小，雙方在西太平洋的海權力量恢復平衡。由於盟軍確認不會在1942年登陸法國，美軍在6月底確認中途島海戰戰果後，金恩、尼米茲、道格拉斯·麥克阿瑟、喬治·卡特萊特·馬歇爾等美軍將領都同意把握機會，提前在西南太平洋展開反擊。瓜達爾卡納爾島戰役因此在8月爆發，迫使日軍進入戰略防禦階段。日本自此只能寄望在消耗戰中迫使美國談判。長遠而言，日軍因為軍事生產力不足，要到1944年才再有大型和更多量產中型航空母艦服役（大鳳號和雲龍級）。其時美軍的艾塞克斯級和獨立級已開始大量服役，但日軍雖然有裝備，卻再也無法填補在西南太平洋消耗殆盡的精英飛行員，雙方實力逐漸變得懸殊。
日本在海戰後從各方面掩飾慘敗事實。昭和天皇指派安藤紀三郎統籌相關的新聞審查，並對外宣稱獲得大勝。聯合艦隊在6月14日泊岸後，所有受傷的軍人被立即送往醫院隔離，健康的軍人則逐步分散調派到西南太平洋前線。顯然這些受到重創的軍人仍沒有辦法回到本土安養，全部人員都禁止與親友接觸。山本五十六雖然為戰敗負上全責，但大本營為了將戰果保密而沒有將其撤職。


相關條目 太平洋戰爭
《中途島》（1976年電影）
《決戰中途島》（2019年電影）
中途島號(CVB-41)：以本戰役為名的美軍軍艦，曾於1973~1991年部署於日本橫須賀海軍基地
航母对战


註腳 參考資料 Allen, Mark W., Midway Submerged: An Analysis of American and Japanese Submarine Operations at the Battle of Midway, June 1942, Bloomington, ID: iUniverse, 2011, ISBN 1462049265 （英语） 
Fuchida, Mitsuo, Midway: the Battle that Doomed Japan : the Japanese Navy's Story, Annapolis, MD: Naval Institute Press, 1992, ISBN 1557505756 （英语） 
Morison, Samuel Eliot, Coral Sea, Midway and Submarine Actions, History of United States Naval Operations in World War II 4, Boston: Little, Brown and Company, 1988 （英语） 
Parshall, Jonathan B.; Tully, Anthony P., Shattered Sword: The Untold Story of The Battle of Midway, Washington, D.C.: Potomac Books, 2005, ISBN 1-57488-923-0 （英语） 
Prange, Gordon W., Miracle at Midway, New York: Penguin Books, 1982, ISBN 0070506728 （英语） 
Symonds, Craig L., The Battle of Midway, New York: Oxford University Press, 2011, ISBN 978-0-19-539793-2 （英语） 
Symonds, Craig L., Mitscher and the Mystery of Midway , Naval History Magazine, vol. 26 no. 3, May 2012  [2021-11-23], （原始内容存档于2022-05-16） （英语）  
澤地久枝, 記録ミットウェー海戦, 文藝春秋, 1986, ISBN 978-4163405407 （日语） 


外部連結 The Battle of Midway 1942: Told from the Japanese Perspective (1/2) （页面存档备份，存于互联网档案馆） Youtube影片，中途島海戰的模擬動畫。上集：日軍觀點。 （英文）
Office of Naval Intelligence, U.S. Navy. Battle of Midway, June 3-6, 1942. Combat Narratives. 1943  [2021-06-18]. （原始内容存档于2021-05-17）.  美國海軍情報局1943年出版的報告，反映當時美軍觀點。