中途岛海战

中途岛海战（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年于华盛顿海军部设立代号的办公室，负责破译日军通讯密码，并在1932年和1936年先后于马尼拉（代号Station Cast）和珍珠港（代号Station Hypo）设立分站。太平洋战争爆发前，马尼拉分站负责破译日本海军行动通讯的，而珍珠港分站则负责日本海军较少使用的将领通讯密码，两者都未能察觉日军筹划突袭珍珠港。珍珠港事变后，尼米兹在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」地区。然而，珍珠港情报站的直属上司（主理华盛顿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日南下与美军交战时，高须四郎会从后接替空缺。此外，山本五十六亦筹备第二次，派飞艇到欧胡岛进行侦察，又调派的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特遣舰队司令小威廉·海尔赛负责战事的全权指挥，但海尔赛却因为严重皮肤病而必须住院治疗。海尔赛在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架）、陆军23架（19架B-17轰炸机、4架B-26轰炸机）。虽然中途岛上的陆战队飞机不少已经落伍，但连同三艘航母在内，美军仍在字面上拥有361架作战飞机。最后，尼米兹调派多艘潜艇前往中途岛，并在西面至北面海域组成环型防御圈。由于时间仓促，美军最终只有12艘潜艇（、、、、、鹦鹉螺号、、、、、、）赶及在海战前抵达中途岛，并组成第7.1特遣舰队。此外，三艘潜艇（、、）组成第7.2特遣舰队，在法国护卫舰环礁充当后援；四艘潜艇（、、、）则组成第7.3特遣舰队，在欧胡岛北部巡逻。
战役经过.
前奏（6月3日）.
由于日军将MI作战顺延一日，美军舰队在6月2日完全扑空。6月3日清早，美军先接获阿留申群岛的荷兰港遭到日军舰载机空袭的消息，造成美军指挥阶层些微不安；但到了上午9时，的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分，企业号和大黄蜂号的飞机相继起飞，原本的出击计划很快就被打乱。企业号原先的起飞程序为（VF-6）8架F4F（负责航舰空中警戒）、（VS-6）17架SBD、（VB-6）16架SBD、第6战斗机中队10架F4F（为轰炸机护航）、（VT-6）14架TBD；但第6轰炸机中队有四架SBD在预热引擎时发生故障无法起飞，而且必须使用甲板前方的升降台移回机库。此外，由于第6轰炸机中队搭载较重的1,000磅炸弹，须由舰艉飞行甲板开始滑行始能顺利起飞，导致企业号必须等待它们全部起飞，接著才能从机库将第6战斗机中队和第6鱼雷机中队的飞机移出就位；第6鱼雷机中队随后又有飞机引擎故障，要花费时间抢修。结果，一直到7时45分，最先出发的32架SBD和10架F4F仍然在企业号上空盘旋。由于企业号在7时40分截获日军侦察机的无线电通讯，斯普鲁恩斯判断舰队行踪已经暴露，下令企业号已经起飞的飞机立刻出发。鱼雷机中队长为了追上已出发的企业号舰载机群，采取较为西南航向，并与战斗机中队长詹姆士·格雷（James S. Gray）约定稍后会合。
大黄蜂号的舰载机队进一步打乱美军的出击计划。大黄蜂号的起飞程序为（VF-8）10架F4F（为轰炸机护航）、（VS-8）15架SBD、（VB-8）19架SBD、（VT-8）15架TBD，并一直进行起飞作业至接近8时。但大黄蜂号机群起飞后不久，鱼雷机中队长认为舰载机队队长斯坦厄普·林（Stanhope C. Ring）的航向错误，并且在无线电互相争吵。渥顿在8时30分违抗命令，率领他麾下的第8鱼雷机中队转向西南飞行，恰巧被企业号的F4F发现，格雷误以为林西的第6鱼雷机中队已经跟上，随即在高空为实际上是大黄蜂号的第8鱼雷机中队进行护航，反使得企业号的第6鱼雷机中队失去战斗机的掩护。大黄蜂号的SBD和F4F最终没有找到日军舰队，多架飞机更没有听从机队队长命令而各自返航。
最后，弗莱彻在8时30分仍未获得日军另外两艘航舰的消息，遂决定派出约克镇号部分机队攻击。与企业号和大黄蜂号不同，弗莱彻的航空参谋事先已与舰载机队队长和四个中队长交换意见，并同意先向西南飞行，如果没有发现日军航舰，则转向东北搜索。弗莱彻亦采用更有效率的起飞程序，让（VB-3）17架SBD和（VT-3）12架TBD率先起飞，然后再派（VF-3）6架F4F随后加速追上会合。（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战队所属巡洋舰群和前往砲击中途岛。在得悉机动部队正在撤退后，山本五十六和宇垣缠对南云忠一的决策失去耐性。晚上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日泊岸后，所有受伤的军人被立即送往医院隔离，健康的军人则逐步分散调派到西南太平洋前线。显然这些受到重创的军人仍没有办法回到本土安养，全部人员都禁止与亲友接触。山本五十六虽然为战败负上全责，但大本营为了将战果保密而没有将其撤职。