此时的日军苍龙号航母正搭载了一种试验型号的新型飞机,这就是D4Y2朱迪(日军称为彗星),这是一架双座俯冲轰炸机,配有一台1180马力的爱知热田21型发动机——这其实是德国戴姆勒奔驰601A的日本版本。飞机的最大速度为312节(360mph,579公里/小时),这让朱迪有了超过野猫的速度,因而这种飞机很多时候被当做侦察机使用。4条日军航母上有21架零战没有参加攻击中途岛的行动,他们全部在舰上整备,准备随时应对美军的行动。

使用液冷发动机的彗星
而在中途岛上,此时共有106架美军飞机,包括陆军航空队掌握的17架波音B-17空中堡垒轰炸机和4架马丁B-26掠夺者中型轰炸机,7架F4F-3野猫,21架F2A-3水牛,16架SBD-2无畏,17架沃特西科斯基SB2U-3辩护者,后面这些飞机均由美国海军陆战队掌握。此时的美军还有30架卡塔利娜水上飞机和6架准备分配到大黄蜂号航母上的全新复仇者式鱼雷轰炸机——这6架飞机在还没有来得及在珍珠港装舰大黄蜂号航母就离开了港口。
6月4日黎明,108架日军飞机组成的第一波打击力量起飞,这些飞机包括全部携带炸弹的36架凯特和36架瓦尔,另外36架零战负责提供空中掩护。此外,加贺号起飞了9架零战在舰队上空进行空中巡逻,而赤城号则有9架零战在甲板上处于待命状态。在侦查力量方面,航母上起飞了两架侦察机,战列舰上起飞了一架,巡洋舰上起飞了4架——正是巡洋舰上起飞的侦察机因为技术故障耽误了重要的半个小时。这些飞机组成了一只小型侦查力量负责搜寻作战区域内的美军舰船。
发现敌机的战斗警报最早来自于一架执行巡逻任务的卡特琳娜,随后,在日军机群距离中途岛93海里时中途岛上的美军雷达也发现了日军机群。美军派出了20架水牛和6架野猫进行拦截,然而护航的零战给了美国人当头一棒——15架美军战斗机被击落,7架严重受损,日军损失两架零战,而日本人的轰炸机们则完好无损。

1942年6月4日,遭受轰炸后的冒出滚滚浓烟的中途岛美军油库
中途岛随后在日军轰炸中遭受了相当程度的损失,但是机场仍然可以使用。在轰炸中,地面防空炮火让日军损失了4架凯特,一架瓦尔和两架零战。此时,卡塔琳娜发现了日军航母,6架已经从珍珠港赶往中途岛的复仇者和4架掠夺者各挂载一枚鱼雷前往攻击日军舰队,负责空中掩护的零战击落了5架复仇者和2架掠夺者,其余3架飞机被严重击伤。
接下来,由中途岛派出的16架无畏式俯冲轰炸机袭击了飞龙号航母。护卫的零战击落了其中8架,另外还有6架被严重击伤。紧接着,11架落伍的辩护者式俯冲轰炸机发动了攻击,4架被零战击落。至此,19架美军飞机被击落,9架被严重击伤,然而他们没有取得任何战果。所以这些美军飞机均由负责护卫的零战击落,而此时零战已经被安排用于对中途岛的第二波次打击。
中途岛的美军指挥官在珊瑚海海战后曾详细研究了珊瑚海的战斗,他们在其中学到了重要的教训。南云中将决定对中途岛进行第二波打击,这样他就必须让鱼雷机重新挂上炸弹并且收回第一攻击波的归航飞机,这就使得他的飞行甲板处于危险的状态下。美军航母打击力量的指挥官弗莱彻少将则决定不在一开始就派出他所有的飞机用于攻击日本航母,在等待约克城号派出的10架执行侦察任务的无畏式返航时,他将自己手中的两只作战力量进行了拆分。负责指挥两条美军航母的斯普鲁恩斯少将计划在日本人发动对中途岛的第二波次攻击前袭击日本航母。
企业号和大黄蜂号放出了68架无畏、29架破坏者和20架野猫。另外18架野猫在航母上空巡逻,甲板上也有18架野猫随时准备升空。117架飞机被分为4个攻击波次。第一波是大黄蜂号航母上起飞的35架无畏和10架野猫,但是他们没有找到敌人的航母,2架无畏和所有10架野猫因为燃油耗尽在海面迫降。大黄蜂号施放的另外15架破坏者找到了日本航母,但是他们在随后的战斗中全部损失。紧接着是企业号起飞的14架破坏者,他们在战斗中损失了10架。之后的攻击来自约克城号上的12架破坏者和6架野猫,这些破坏者被全部击落,野猫一架被击落,5架严重受损。在这4个波次的攻击中37架破坏者式鱼雷机被击落,但是美军没有一枚鱼雷击中敌舰。
美国鱼雷机的自杀性攻击将日本防空力量消耗至最低水平,此刻的天空被留给了无畏式俯冲轰炸机,这些俯冲轰炸机得以在没有敌方战斗机的情况下进入战场。来自企业号的33架无畏式俯冲轰炸机投下的炸弹中有两枚直接命中赤城号航母,另有一枚近失弹。4枚直接命中加贺号航母,5枚近失弹。17架从约克城号上起飞的无畏式投下的炸弹则有3枚直接命中苍龙号航母。此时这些日本航母甲板上堆满了正在加油和挂弹的飞机,非常脆弱。
美国人的损失,包括迫降的飞机,一共是68架飞机,其中有14架野猫、17架无畏、37架破坏者。
随后,没有和其他三条日军航母在一起的飞龙号发动了反击,6架零战和18架瓦尔找到了约克城号航母,它们一头撞上了野猫式战斗机组成的空中巡逻机队。6架瓦尔成功了突破了野猫的防御扔下了炸弹,3枚炸弹直接命中航母。在这次战斗中3架零战和13架瓦尔损失。
孤注一掷的飞龙号发动了第二波次攻击,6架零战和10架凯特起飞。他们碰上了约克城号起飞的12架野猫,但是日本飞机扔下的鱼雷还是有两枚命中了约克城号航母。与此同时,企业号航母上起飞的24架无畏式找到了飞龙号航母,他们投下的炸弹4枚直接命中飞龙号,4枚为近失弹。在这次袭击中美军损失3架俯冲轰炸机,另有一架俯冲轰炸机迫降。

在飞龙号发动的第二轮攻击中被B5N投下的鱼雷命中时的约克城号
苍龙号和加贺号沉没于6月4日晚上,第二天,已经残废的赤城号和飞龙号被自己的护航驱逐舰发射的鱼雷击沉。约克城号遭到了日军潜艇袭击,2枚鱼雷击中舰体,这条航母在6月7日上午被自己的护航驱逐舰发射的鱼雷击沉。

6月5日早上仍在燃烧的日军飞龙号航母
6月5日,卡塔琳娜发现了两条日军重巡洋舰。中途岛上立刻起飞了6架无畏和6架辩护者前往攻击日舰,但是他们一无所获而且还损失了一架辩护者。6月6日,2条未受损的美军航母放出了112架飞机攻击这两条日军巡洋舰,击沉一条,重伤另外一条。
