中途岛海战

日军部署

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日），美军航母突然出现在日本以东海域，派出陆军轰炸机空袭东京。这使得日军上下大为震撼，无意中为山本五十六摆平反对声音。日军对美国航母突袭本土虽然有所准备，并且在外海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日进攻莫尔斯比港。
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日）。

日军

联合舰队在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特遣舰队（Task Force 16）和第17特遣舰队（Task Force 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）。舰队尚有两艘巡洋舰（阿斯托里亚号、波特兰号）及五艘驱逐舰（莫里斯号、罗素号、哈曼号、安德森号、休斯号）。
此外，尼米兹亦向中途岛紧急增派飞机驻守。海战爆发前，中途岛共有海军飞机37架（31架PBY卡特琳娜水上飞机、6架TBF复仇者式轰炸机）、陆战队飞机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日早上，美军一架PBY侦察机在中途岛以西700英里水域发现日军舰队。太平洋舰队司令部把侦察报告和JN-25破译信息对比，确定该舰队为近藤信竹的中途岛攻略部队。尼米兹一方面提醒弗莱彻继续待命，另一方面派出中途岛的长程轰炸机进攻。陆军的九架B-17轰炸几率先找到田中赖三的登陆舰艇，但所有攻击都被日军船舰回避。海军的四架改装PBY侦察机随后抵达，并向登陆舰队发射Mk 13型鱼雷鱼雷，其中一枚鱼雷击中一艘补给舰，造成11人死亡，13人受伤。一位日军军官认为该枚鱼雷弹头没有引爆。虽然这波空袭显示MI作战已经败露，但山本五十六和南云忠一都继续按原有计划行动。

中途岛空袭（6月4日0430-0715）

6月4日上午4时30分，日军四艘航母开始派出舰载机空袭中途岛。赤城号和加贺号派出18架零式战斗机和36架九九式轰炸机，苍龙号和飞龙号则派出18架零式战斗机和36架九七式轰炸机。机队由友永丈市指挥，并在上午5时左右完成编队，向中途岛出发。为求保险，南云忠一按照山本五十六的指示，在机库保留大约一半的舰载机，应付随时出现的美军舰队。赤城号和加贺号预先为机库的九七式装上848公斤（1,870磅）的九一式鱼雷。至于苍龙号和飞龙号的九九式虽然预备搭载250公斤（551磅）舰用炸弹，但因为惯常程序是在出击前装载，故此当时没有装备。
南云忠一同时下令两架空载的九七式和八架零式水上侦察机升空，搜索舰队东半圆区域。不过，筑摩号往054方位角的侦察机因为故障而要提早折返，而1号侦察机（077方位角）更因为飞在云层之上（另一说为飞错方向），完全错过了第16和第17特遣舰队。利根号的两架侦察机因为故障等原因，要到4时45分和5时正才成功起飞。
另一方面，上午4时，美军陆战队也派出中途岛的五架F4F和22架PBY，开始向西搜索日军航母舰队。陆军则派出15架B-17再次攻击田中赖三的登陆舰艇。到4时20分，弗莱彻派出约克城号六架F4F和10架SBD向北方索敌。由于企业号和大黄蜂号已经在飞行甲板预备攻击机队，斯普鲁恩斯没有派出F4F加入侦察。
上午5时34分至6时，美军PBY先后发现日军航母及前来空袭中途岛的舰载机。中途岛随即派遣所有飞机前往轰炸日军航母，而陆战队则调动25架战斗机拦截日军机队。由于美军各军种之间欠缺合作经验，飞机性能参差不齐，使得攻击非常混乱。陆战队的战斗机成功伏击了六架轰炸机，但随即被性能较佳的零式击溃，只有11人生还。中途岛所有可以执勤的飞机都在6时45分前成功起飞。日军机队在7时抵达中途岛时，发现机库和跑道已经几乎清空，只能轰炸岛上各种军事设施。友永丈市即时用暗语向南云忠一汇报，要求发动第二波攻击。
南云忠一在7时05分接获友永丈市的信息，并初步同意发动第二波空袭，但此时机动部队正忙于派出零式拦截中途岛的美军飞机。7时10分左右，海军六架TBF轰炸机和陆军四架B-26轰炸几率先抵达，分别向飞龙号和赤城号施放鱼雷攻击。虽然美军所有鱼雷都没有命中，且只有三架飞机成功逃走，但一架B-26在堕海前几乎撞上赤城号的舰桥。由于中途岛的航空兵力对舰队构成严重威胁，且美军舰队很可能不会出现，南云忠一决定争取时间。他在7时15分下令赤城号和加贺号的九七式换装对地的800公斤（1,760磅）炸弹，预备向中途岛发动第二波空袭，而友永丈市的机队则预算在回收后充当预备。苍龙号和飞龙号机库的九九式因为空载而没有需要更换武器。

美军第一波舰载机出击（0700-0900）

美军方面，弗莱彻要到6时03分，才从珍珠港司令部接获中途岛PBY的侦察报告。由于PBY的报告只提及两艘航母，弗莱彻担心日军航母可能分散行动，决定先派企业号和大黄蜂号的机队攻击，而约克城号则等待进一步报告再作行动。不过，当时海面吹起偏弱东风，企业号和大黄蜂号必须以时速25节以上背向日军舰队迎风航行，才可以让舰载机有足够升力起飞。换言之，企业号和大黄蜂号将会与日军航母拉开距离，间接缩短舰载机的航距。斯普鲁恩斯和首席航空参谋米尔斯·勃朗宁（Miles Browning）争辩后，把起飞时间延迟至上午7时。
不过，企业号和大黄蜂号的出击计划却有严重漏洞。首先，根据勃朗宁的指令，最先起飞的F4F战斗机或SBD轰炸机需要在舰队上空盘旋，等待最后起飞的TBD轰炸机，然后才一同前往预定目标。这使得F4F和SBD不必要地消耗大量燃料。第二，企业号的航空联队队长克劳伦斯·麦克拉斯基（Clarence Wade McClusky）采取西南偏南的飞行方向，而大黄蜂号的联队队长斯坦厄普·林（Stanhope C. Ring）则选择接近正西的飞行路径。两条路线都完全错过了机动部队。
上午7时05分，企业号和大黄蜂号的飞机相继起飞，原本的出击计划很快就遭到打乱。企业号原先的起飞程序为第6战斗机中队（VF-6）八架F4F（航母空中警戒）、第6侦察机中队（VS-6）17架SBD、第6轰炸机中队（VB-6）16架SBD、第6战斗机中队10架F4F（轰炸机护航）、第6鱼雷机中队（VT-6）14架TBF。但第6轰炸机中队有四架SBD在预热引擎时故障无法起飞，而要使用甲板前方的升降台返回机库。此外，由于第6轰炸机中队装备较重的1,000磅炸弹，要由舰艉飞行甲板起跑。这使得企业号需要等待它们全部起飞，然后才从机库搬运第6战斗机中队和第6鱼雷机中队的飞机就位。第6鱼雷机中队随后又有飞机引擎故障，要花费时间抢修。结果到7时45分，最先出发的32架SBD和10架F4F仍然在企业号上空盘旋。由于企业号在7时40分截获日军侦察机的无线电通讯，斯普鲁恩斯判断舰队行踪已经败露，下令企业号已经起飞的飞机即时出发。鱼雷机中队队长欧根·林西（Eugene E. Lindsey）为了追上机群，采取较为西南航向，并与战斗机中队队长詹姆士·格雷（James S. Gray）约定稍后会合。
大黄蜂号的航空联队进一步打乱美军的出击计划。大黄蜂号的起飞程序为第8战斗机中队（VF-8）10架F4F（轰炸机护航）、第8侦察机中队（VS-8）15架SBD、第8轰炸机中队（VB-8）19架SBD、第6鱼雷机中队（VT-6）15架TBF，并一直持续到接近8时。但机群起飞后不久，联队内部的人事矛盾却在此时触发。鱼雷机中队队长约翰·渥顿（John C. Waldron）认为联队队长斯坦厄普·林（Stanhope C. Ring）的飞行路线错误，并且在无线电互相争吵。渥顿在8时30分违抗命令，私自率领鱼雷机转向西南飞行，恰巧被企业号的F4F发现。格雷误以为林西的鱼雷机已经追上，随即在高空进行护航，反过来使得企业号鱼雷机失去掩护。大黄蜂号的SBD和F4F最终没有找到日军舰队，多架飞机更没有听从队长命令而各自返航。
最后，弗莱彻在8时30分仍未获得日军另外两艘航母的消息，决定派出约克城号部分机队攻击。与企业号和大黄蜂号不同，弗莱彻的航空参谋事先与航空联队队长和四个中队队长交换意见，并同意先向西南飞行，若果没有发现则转向东北。弗莱彻亦采用更有效率的起飞程序，让第3轰炸机中队（VB-3）17架SBD和第3鱼雷机中队（VT-3）12架TBF率先起飞，然后再派第3战斗机中队（VF-3）六架F4F随后加速追上会合。第5侦察机中队（VS-5）则留在约克城号待命。9时06分，约克城号的出击机队全数升空，但本舰也因为飞行作业而远离企业号和大黄蜂号。

美军陆上机攻势、日军发现美军舰队（0700-0917）

另一方面，日军舰队自从在7时空袭中途岛之后，就接连遭到美军潜艇、中途岛陆上飞机和后来的舰载鱼雷机攻击。首先，鹦鹉螺号潜艇在6时58分发现友军飞机向海平面飞去（事后证明是中途岛的六架TBF），随后北方天空出现大量防空炮火。鹦鹉螺号判断该处为机动部队所在，随即向该处移动，却遭到高空的零式发现。日军舰队随即派出岚号驱逐舰前来攻击。鹦鹉螺号深潜回避深水炸弹后，尝试在水下追踪舰队。
南云忠一在7时15分下令轰炸机更换武装，准备向中途岛发动第二波空袭。但在7时28分，利根4号侦察机（100方位角）向赤城号报告发现“10艘美军军舰”（第16特遣舰队）。讽刺的是，4号机中途可能遭到美军PBY攻击，又为了补偿早上的延误而提早向北飞行，才误打误撞遇上美军舰队。南云忠一在7时45分左右接获报告，却对情报感到困惑。若果利根4号机的情报属实，那么筑摩5号机（077方位角）应该会正面遭遇美军舰队，然而筑摩5号机却没有任何发现。南云忠一即时以无线电要求利根4号机确认美军舰队组成。这则无线电有部分信息被企业号和珍珠港截获，又反过来驱使企业号机队提早出发。
南云忠一此时陷入进退维谷境地。当时美军舰队在机动部队侧翼出现，几乎肯定拥有航母，但日军航母却无法有效回应。由于早上迎击美军TBF和B-26的零式不少已经受损或者用尽弹药，日军四艘航母的飞行甲板正在回收和重新派出战斗机保护舰队（共出击31架，已降落17架）。此外，赤城号和加贺号机库的九七式只有大约三分之一（15架）即将完成换装，而友永丈市空袭中途岛的机队却预计在8时15分（半小时后）返抵舰队，并需要约莫一小时降落，占用四艘航母的飞行甲板。换言之，南云忠一若不立即下令赤城号和加贺号的15架九七式准备起飞、苍龙号和飞龙号的九九式装备炸弹，就要等待一个半小时后才能够空袭中途岛或应付美军舰队。然而，派出编组不齐的轰炸机队并不符合日本海军战术教条，日军航母也没有足够的零式战斗机进行掩护。
接获7时45分的报告后，南云忠一与参谋商讨对策，同时等待利根4号机进一步报告。但日军舰队很快遭到美军多方位袭击，引起不少混乱。7时53分，雾岛号战列舰发射烟雾，表示美军空袭即将来临。由于航母回避轰炸时会使得飞行作业非常危险，南云忠一权衡各种因素后，决定暂停更换九七式鱼雷，先派战机守护航母，后回收友永丈市的机队，然后攻击美军舰队。8时左右，洛夫顿·亨德森的16架陆战队SBD由东南面迫近，而沃尔特·斯威尼的12架B-17则同时从西北面高空而来。由于从未接受俯冲轰炸训练，陆战队的SBD未能击中飞龙号，亨德森本人也遭零式击落阵亡。陆军的B-17分成三队攻击赤城号、苍龙号和飞龙号，但同样无一命中。友永丈市的机队在8时05分开始返抵母舰。由于无法降落，部分零式和九九式索性加入空战。与此同时，鹦鹉螺号潜艇在7时55分伸出潜望镜窥探机动部队，并很快被日军飞机发现。长良号随即率领驱逐舰前来攻击，鹦鹉螺号则再次深潜回避。
正当日军舰队忙于回避空中和水下攻击，同时冒险紧急回收及派出战斗机之际，利根4号机先后传来三次无线电报告。7时58分，4号机报告美军舰队航向（080方位），再在8时11分报告美军舰队为“五艘巡洋舰、五艘驱逐舰”，最后在8时20分称“发现疑似一艘航母”。但碍于美军持续攻击，机动部队仍然无法应对。8时24分，避过深水炸弹的鹦鹉螺号又再伸出潜望镜，并向雾岛号发射两枚鱼雷（其中一枚卡弹）。雾岛号迅速回避，并向鹦鹉螺号齐射右舷舰炮，岚号则又再赶来投放深水炸弹，两舰逐渐脱离机动部队。8时27分，赤城号再次紧急转向，回避陆战队的12架SB2U轰炸机。这些SB2U最终轰炸了距离较近的榛名号战列舰，但依然无一命中。
到8时30分，美军空袭终于暂告一段落。南云忠一随即下令回收友永丈市的机队，预备攻击美军舰队。利根4号机在8时45分报告发现“额外两艘巡洋舰”，又在8时55分报告“10架鱼雷机向机动部队方向飞行”（约克城号的鱼雷机）。为确认4号机的情报，南云忠一派出苍龙号的彗星试作机前往索敌，并勒令缺油的4号机留在原地。他在8时55分向山本五十六报告“在8时发现一艘航母、五艘巡洋舰、五艘驱逐舰，正开始追击”，然后在9时17分下令舰队转向东北偏东（070方位）航行。当时苍龙号和飞龙号尚未回收所有机队，加贺号和赤城号则分别在8时50分和8时59分完成作业。苍龙号和飞龙号可能开始在机库为九九式预备250公斤炸弹，赤城号和加贺号的15架九七式也可能已经重新装上鱼雷。

美军鱼雷机攻势（0917-1040）

南云忠一下令舰队转向东北后仅一分钟（9时18分），机动部队发现美军飞机迫近，随即掉头向西拉开距离，增派零式升空拦截。首先抵达的是大黄蜂号上私自脱队、由渥顿率领的15架鱼雷机。这些飞机在15分钟内被零式全数击落，只有一人生还，射向苍龙号的鱼雷也没有命中，却延误了日军航母机库作业。苍龙号和飞龙号也因为回避攻击而逐渐与赤城号和加贺号分散。利根4号侦察机在9时38分获准返航，筑摩号则第二次派出5号侦察机，接替利根4号机的位置。
与此同时，企业号的14架鱼雷机在远处被机动部队的防空炮火吸引，即时修正飞行路径，由南面向加贺号发动攻击，迫使机动部队转向北方。鱼雷机中队队长林西一直无法与战斗机中队队长格雷联络，后者在云隙目击了大黄蜂号的机队攻击，却没有看到任何飞机返航，继续在高空等待无线电通讯。由于没有战斗机掩护，企业号的鱼雷机攻势到10时10分左右被零式击溃，只有五架鱼雷机成功返航，也未能击中加贺号。不过，日军的零式战斗机很快耗尽20毫米机炮弹药，四艘航母亦只能加紧回收和派出战斗机。格雷也因为F4F燃料不足决定返航，并在9时52分打破无线电缄默，向企业号报告发现两艘航母。这时候苍龙号终于发现在上空盘旋已久的F4F，立即派出零式追击，但一无所获。
由于美军所有攻势都告失败，南云忠一判断舰队能够保持安全。他在10时向山本五十六、近藤信竹、田中赖三和小松辉久报告，指机动部队正转向东北，将会进攻美军的小规模舰队，然后恢复轰炸中途岛。登陆部队可以按计划准备进攻。不过，约克城号的12架鱼雷机却在10时06分由东南面迫近，使得机动部队又再进入回避状态。约克城号的飞行联队是当天唯一没有走散的美军联队。发现日军航母后，约克城号的17架俯冲轰炸机决定向北截击拉开距离的日军航母，而六架战斗机则掩护鱼雷机队攻击飞龙号。面对超过15架零式战斗机，约克城号鱼雷机最终只有五架成功施放鱼雷，两架成功返航。但第3战斗机中队队长约翰·萨奇却与队友首次运用“萨奇剪”战术，不但有效拖延时间，更反过来共同击落四架零式。约克城号鱼雷机对飞龙号的攻势一直持续至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连续轰炸，超过四枚500磅炸弹和若干枚1,000磅炸弹直接命中。加贺号的舰桥被炸毁，连同冈田次作在内的多名军官阵亡。美军亦有多枚炸弹击穿飞行甲板并在机库爆炸，随即引爆机库甲板停放的大量飞机武器，点燃舰载机的航空燃料，灭火二氧化碳和水帘等设施也全数失灵。数分钟内，加贺号的指挥系统瓦解，陷入一片火海。
苍龙是下一艘遇袭的日军航母。10时24分，苍龙号正在回收零式战机，并从无线电得悉加贺号中弹。几乎同一时间，苍龙号的哨兵发现约克城号的轰炸机，柳本柳作大佐随即下令向左急转。虽然苍龙号的机动性较佳，但水平轰炸防御却非常薄弱。约克城号有三架飞机击中目标，其中第一枚炸弹击中苍龙号舰岛前方近升降台位置，再在机库甲板爆炸；第二枚击中飞行甲板中央，并一直贯穿到下层甲板爆炸，切断锅炉的所有蒸汽管道，使得引擎停摆；第三枚炸弹则击中飞行甲板后方。三枚炸弹都在机库引发严重火灾和二次爆炸，造成大量死伤。由于火势无法控制，柳本柳作在10时45分下令弃船，但由于通讯系统全毁，不少水兵都没有收到指令。
与此同时，赤城号正在向西北航行，尝试与约克城号的鱼雷机拉开距离。赤城号在10时20分看到轰炸机攻击西面的加贺号，随即向右舷转圈闪避。10时24分赤城号恢复直线航行不久，赫然发现放弃攻击加贺号的三架SBD正由左舷迫近，再次向右舷急转。美军的第一枚炸弹在赤城号左舷落海爆炸并击起浪花，冲毁了舰岛的无线电天线；第二枚击中飞行甲板中央升降台，在机库引爆；第三枚在舰艉附近水下爆炸。赤城号起初的火势没有像加贺号和苍龙号般剧烈，亦能够保持稳定速度航行。到10时42分，赤城号的舵机故障并卡死在向右30度，机库甲板中央的火势也开始失控蔓延，逐渐波及舰桥。在舰长青木泰二郎大佐和参谋长草鹿龙之介敦促下，南云忠一终于同意撤离，并转移指挥到长良号巡洋舰。

日军反击、约克城号重创（1045-1455）

10时40分后，美军飞机陆续调头返回特遣舰队，而第八战队司令阿部弘毅则暂时接掌机动部队。10时45分，重巡洋舰筑摩号的5号侦查机机报告发现美军舰队。阿部弘毅首先向山本五十六转达情报，然后才报告赤城号、加贺号、苍龙号遇袭大火，准备派飞龙号反击。阿部弘毅在10时50分才向山口多闻（第二航空战队司令）下达进攻命令，但山口多闻早在三艘航母遇袭时就下令紧急准备机队。他也在余下的海战中接过航空作战的指挥权。10时54分，飞龙号派出小林道雄的第一波机队（九架零式、18架九九式），全部飞机在10时58分成功升空。
11时10分，日军重巡洋舰筑摩的5号侦查机，传来美军第17特遣舰队位置（机动部队070方位，距离90英里），而苍龙号的彗星试作机也在同一时间发现第16特遣舰队。由于彗星试作机的无线电故障，山口多闻仍然不知道美军有两个航母编队。在这段指挥空窗期，阿部弘毅和南云忠一同时准备向第17特遣舰队反击。阿部弘毅等待南云忠一转移指挥期间，已经下令筑摩号等巡洋舰准备水面作战。南云忠一在11时27分登上长良号后，亦下令重组机动部队，向东追击美军。近藤信竹在中午亦表示攻略部队的高速战列舰正前来增援。
11时59分，约克城号的雷达发现小林道雄的机队。这时约克城号正在回收早上出击的机队，只能依靠空中警戒的F4F、尚未降落的SBD、以及舰队的防空炮拦截日机。小林道雄率领七架九九式成功突围，其中三架成功击中约克城号前方、中央和后方的飞行甲板。虽然小林道雄在攻击过后失踪，这波空袭使得约克城号的雷达失灵，两座锅炉毁坏，舰体多处起火。约克城号因此逐渐失去动力，最终在12时40分于海上停驶，全舰通讯系统更一度中断。弗莱彻立即决定将旗舰转移至阿斯托里亚号重巡洋舰，留下舰长艾略特·毕马斯达指挥抢修，约克城号的机队则向东北到企业号和大黄蜂号降落。斯普鲁恩斯同时调派多架F4F、两艘巡洋舰和两艘驱逐舰南下，增强约克城号的防空火力。
另一方面，日军正在等待情报和整编舰队，使得飞龙号的第二波机队迟迟没有起飞。山口多闻在12时10分从无线电得悉第一波机队正在攻击美军航母，却不知道战果。山本五十六在12时20分终于打破无线电缄默，下令暂缓占领中途岛和阿留申基斯卡岛，并调派近藤信竹的战列舰、栗田健男的巡洋舰和瑞凤号航母支援南云忠一水面作战。山本五十六也下令角田觉治尽快率领第4航空战队（龙骧号和隼鹰号）由阿留申海域南下增援。下午1时，山口多闻从下属审问约克城号一名俘虏，才终于得悉美军有三艘航母参战。不久，苍龙号的彗星试作机返回飞龙号并投下信息，确认美军共有两个航母编队。这促使南云忠一再下令派出侦察机索敌，而友永丈市则在1时30分率领飞龙号第二波机队出击（六架零式，10架九七式）。由于约克城号已经受损，山口多闻特别指示友永丈市的机队攻击尚未受损的美军航母，尽量扩大战果。
飞龙号第二波机队出击同时，约克城号的抢管人员即将扑灭火势，部分锅炉也开始恢复运作。1时40分，约克城号以20节速度重新航行，毕马斯达随即下令为滞留舰上的第3战斗机中队加油，但友永丈市的机队在1时55分进入彭萨科拉号重巡洋舰的雷达，使得F4F要提早起飞。由于约克城号没有起火冒烟，友永丈市误以为自己进攻的是另一艘航母。友永丈市视死如生的出击也衍生了不少逸闻，但他没有如传闻所说击中甚至撞上约克城号，而是被萨奇的F4F击毁。萨奇对友永丈市的座机印象深刻，因为该架飞机尾翼涂上独特徽纹，而机师在左机翼和机身起火后出色地维持稳定飞行，直到进入攻击距离和投下鱼雷后才堕海解体。事实上当天击中约克城号的是桥本敏男和他的一架僚机。这两枚鱼雷在2时42分击中约克城号左舷，引发大火，动力系统和发电机房遭到瘫痪，舵机亦因为断电而卡死。不久约克城号再次停驶，迅速入水向左倾斜，迫使毕马斯达在2时55分下令弃船。

美军第二波舰载机出击、飞龙号重创（1445-1455）

美军航母在上午已经筹备第二波攻击。弗莱彻在11时30分派出约克城号后备的10架SBD，搜索西至北方海域，希望找到日军余下的航母。约克城号第一次遇袭后，斯普鲁恩斯非正式地接掌战术指挥。他从企业号返航的SBD得悉日军四艘航母共同行动，但只有三艘严重受损。由于飞龙号的位置仍然不明，故此斯普鲁恩斯否决勃朗宁即时出击的提案，只下令企业号和大黄蜂号准备机队。当时美军三艘航母的鱼雷机队几乎全灭，战斗机和轰炸机也因为战斗和用尽燃料而损失惨重。企业号剩下36架SBD（14架来自约克城号），大黄蜂号则有21架。
下午2时45分，约克城号的SBD发现飞龙号，斯普鲁恩斯立即下令企业号和大黄蜂号准备出击，但大黄蜂号的航空指挥却再次陷入混乱。3时10分，舰长马克·米契尔临时中断作业并清空舰艉甲板，回收七架F4F和11架在中午迫降中途岛的SBD。故此，当斯普鲁恩斯下令在3时30分开始出击时，米契尔只能匆忙重新准备出击机队。大黄蜂号要到4时正才开始派出机队，但过程中又有两架飞机故障而要回收，其时企业号的24架SBD早已飞向目标。由于耽误了出击时机，大黄蜂号在派出16架SBD后便被迫中止作业。
山口多闻原本计划在4时30分派出第三波机队，但因为飞行员过于劳累而推迟到6时。当时飞龙号只剩下13架零式（已升空）、四架九九式和五架九七式，但山口多闻仍希望可以击伤第三艘美军航母（然而如上文所述，日军实际之前两次击伤的是同一艘航母约克城号），尽量扩大战果。4时45分，企业号的机队发现飞龙号，打算同时攻击护航的榛名号战列舰，但由于飞龙号成功回避最初的攻击，轰炸榛名号的机队决定调头夹攻飞龙号。这举动虽然引起美军机队混乱，却成功摧毁飞龙号。飞龙号的前部甲板遭到四枚炸弹击中，舰体严重毁坏并引发大火。大黄蜂号的机队在5时20分抵达时，判断飞龙号已经受到致命伤，改为进攻护航的筑摩号和利根号，只是无一命中。5时42分，美军12架B-17（四架来自中途岛，八架来自夏威夷）加入攻击。虽然B-17的炸弹没有命中，机员却用重机枪扫射飞龙号甲板，摧毁一座防空炮及杀死数名炮手。

双方调整部署（6月4日下午至6月5日早上）

6月4日傍晚，美日双方都在重整部队。美军方面，弗莱彻在5时32分率领第16特遣舰队与第17特遣舰队会合，留下休斯号驱逐舰看管已经弃船的约克城号。当斯普鲁恩斯向弗莱彻请求新的指示时，弗莱彻大方地回复会跟随斯普鲁恩斯行动，直接将海战指挥权交给斯普鲁恩斯。斯普鲁恩斯在傍晚回收所有飞机后决定避免与日军夜战，舰队随即掉头向东，在午夜转向正北，到6月5日清晨4时才再次向西航行，准备应付日军第二日的攻势。
日军方面，南云忠一在6月4日下午一直把抢救航母放在首位，但各舰火势始终无法受控。苍龙号在10时45分下令弃船，并在傍晚7时13分被矶风号以三枚鱼雷自沉。加贺号在遇袭后仍然维持大约2至3节速度航行，抢管人员和被困的工程师一直在岗位拼死奋斗，但火势却完全失控。到下午1时，加贺号终于停驶断电。由于通讯系统瘫痪，很多官兵都不知道舰长已经阵亡，部分军官开始自行下达弃船命令，而天皇御照也在1时25分转移到萩风号驱逐舰。加贺号在下午2时遭到潜伏的鹦鹉螺号攻击，但鹦鹉螺号发射的四枚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分，卷云号向飞龙号发射两枚鱼雷后离开，但飞龙号没有即时沉没。
除了抢救航母，南云忠一亦有考虑与美军舰队水面作战，但碍于情报混乱而迟迟没有实行。到6月4日傍晚9时，机动部队仍未掌握美军舰队的规模、位置和航行方向。南云忠一估计美军仍然有最少三至四艘航母可以作战，而且正在向西进击，决定放弃计划并率领机动部队向西北撤退。由于大和号没有收到最新情报，山本五十六仍在策划水面作战。他在7时15分下令机动部队和中途岛攻略部队立即追击“已被击溃、正在向东败退”的美军舰队，再在20分下令栗田健男的巡洋舰和伊168号潜艇赶往炮击中途岛。得悉机动部队正在撤退，山本五十六和宇垣缠很快对南云忠一的懦弱失去耐性。晚上10时55分，山本五十六解除了南云忠一的职务，把机动部队交给近藤信竹指挥，下令准备夜战。但南云忠一却拒绝执行近藤信竹的调动命令，阿部弘毅也没有释出手下的巡洋舰（当时仍在拯救飞龙号的船员）。
随着时间过去，由于美军舰队迟迟未见踪影，山本五十六终于面对现实，在6月5日12时15分下令南云忠一和近藤信竹率领舰队与自己会合，随后命令栗田健男调头，但栗田健男却要到2时30分才收到命令。这时候熊野号、铃谷号、三隈号、最上号四艘重巡洋舰已经驶至距离中途岛50海里水域，并且被美军河豚号潜艇发现。混乱之中，最上号以高速撞上三隈号，舰艏严重损毁，只能以12节速度航行。栗田健男只好留下轻伤的三隈号保护最上号，率领其余两艘巡洋舰撤退。伊168号潜艇没有接获任何撤退命令，但向中途岛发射八炮后就遭到岸炮还击，被迫暂时撤出。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轰炸机攻击，不过没有受损。两艘巡洋舰在下午获得荒潮号和朝潮号两艘驱逐舰加入护航。
6月6日，美军侦察机再次发现最上号和三隈号，并一度误传编队有战列舰和航空母舰。企业号和大黄蜂号的机队在早上9时开始攻击两艘重巡洋舰。由于最上号在抢修时丢弃了所有鱼雷，故此遭到四枚炸弹击中没有引起连锁爆炸，损伤相对轻微。同行的三隈号遭到最少五枚炸弹击中，并引爆舰上鱼雷，使得大火一发不可收拾。下午三隈号开始弃船后，日军舰队遭到美军第二波舰载机攻击，但最上号和荒潮号只受到轻伤。三隈号最终在傍晚沉没。不过，美军的约克城号却在同日遭到伊168号潜艇攻击，使得入水程度急剧恶化，护航的哈曼号驱逐舰也遭击沉。约克城号最终在6月7日早上沉没。
山本五十六在6月6日和6月7日仍尝试以瑞凤号引诱美军舰队夜战，但斯普鲁恩斯在6月6日晚上回收机队后便撤出战场补油。由于搜索不果，山本五十六在6月7日晚率领舰队掉头返回日本。中途岛海战至此结束。

影响

中途岛海战是太平洋战争其中一场关键战役，对交战双方都有深远影响。短期而言，日军虽然仍能维持战局，但日美海军航空战力之间的差距大为缩小，双方在西太平洋的海权力量恢复平衡。由于盟军确认不会在1942年登陆法国，美军在6月底确认中途岛海战战果后，金恩、尼米兹、道格拉斯·麦克阿瑟、乔治·卡特莱特·马歇尔等美军将领都同意把握机会，提前在西南太平洋展开反击。瓜达尔卡纳尔岛战役因此在8月爆发，迫使日军进入战略防御阶段。日本自此只能寄望在消耗战中迫使美国谈判。长远而言，日军因为军事生产力不足，要到1944年才再有大型航空母舰服役（大凤号）。其时美军的埃塞克斯级和独立级已开始大量服役，日军也无法填补在西南太平洋消耗殆尽的精英飞行员，双方实力逐渐变得悬殊。
日本在海战后从各方面掩饰惨败事实。昭和天皇指派安藤纪三郎统筹相关的新闻审查，并对外宣称获得大胜。联合舰队在6月14日泊岸后，所有受伤的军人被立即送往医院隔离，健康的军人则逐步分散调派到西南太平洋前线。全部人员都禁止与亲友接触。山本五十六虽然为战败负上全责，但大本营为了将战果保密而没有将其撤职。