6月4日4时30分,日军终于开始了对中途岛的攻击。72架高空水平轰炸机和俯冲轰炸机以及36架零式战斗机,组成第一攻击波,于15分钟内按顺序起飞,在友永丈市海军大尉率领下,飞机编队绕舰队一周,吼叫着向中途岛飞去。
在日军攻击中途岛的机队起飞的同时,“约克城”号也派出10架俯冲轰炸机搜索日本航母的位置。中途岛方面美军则派出18架0B9水上飞机和16架B-17轰炸机群寻找日本舰队究竟何在。
5时30分,美1架0B9水上飞机发现“赤城”号航母,并向中途岛通知“赤城”号的位置。“企业”号航母截听到这则电讯,再将消息转告“约克城”号。
与此同时,蝗虫般的日本机群在距中途岛50海里处为美军侦察机发现。6时整,中途岛上响起凄厉的战斗警报声,全部美机陆续升空。6时45分,日机飞临,早已在此等候多时的26架美军“野猫”式战斗机马上开始拦截,但迅即为性能优良的日本“零”式战斗机击败,日本轰炸机全部进入中途岛上空。
不过,狡猾的南云只派出一半的飞机去攻击中途岛,为防止附近出现美航空母舰,他特意将第一流的具有攻舰经验的飞行员留下并将余下飞机升至飞行甲板、装上攻舰鱼雷。收到友永电报后,南云开始考虑让准备攻舰的飞机作为第2攻击波再度袭击中途岛。这样,可以乘中途岛升空美机油燃尽着陆之时,将其全部击毁在地面。
像是要催促南云赶快下定决心似的,从7时10分起,从中途岛起飞的美机开始向南云的航空母舰发动报复性攻击。只见美军6架鱼雷机和4架轰炸机首先向日本舰队冲来,刹时日舰上的各种防空火炮在空中织成火网,护航的“零”式战斗机也猛扑下来,转眼之间7架美机就被击落,余下了3架在进行了没有成效的攻击之后,侥幸逃走。
美军的其他主力舰队发现两艘日军航母。弗莱契尔下令加速前进,给日军以重创。7时,日舰已在美机攻击距离之内,“企业”号与“大黄蜂”号转向迎风疾驶以帮助飞机起飞。很快,20多架战斗机,70多架轰炸机和40多架鱼雷攻击机一齐出动,直扑敌军而去。
可惜的是,“大黄蜂”号起飞的鱼雷机和护航战斗机在半路分散了,当他们发现日军航母之后,立刻将日军的新位置报告“大黄蜂”号。然后,就在无掩护之下开始攻击。日军观察员也很快便发现美15架鱼雷机。在无护航的状况下,行动缓慢的美军鱼雷机根本逃不过零式飞机的掌心。15架鱼雷机被击落,30名飞行员只有1人生还。15分钟之后,“企业”号和“约克城”号的鱼雷机也找到日本舰队的位置并发起攻击。但他们也被零式飞机打得七零八落,鱼雷机只有6架生还。前后总计美军鱼雷机竟被击落35架而且没有损伤日军舰一分—毫。
“大黄蜂”号的俯冲轰炸机和伴随的战斗机,自从跟鱼雷机分开后,却没有找到日军航母。等他们接到日航母新位置报告的时候,燃油已经不够了。结果俯冲轰炸机之中有21架回到“大黄蜂”号,另外14架前往中途岛。伴随的10架战斗机因为燃油不足,只得迫降在海面。
此外,“企业”号的俯冲轰炸机也无法在预定的拦截点找到日本航母。但是,他们的领队毕竟经验丰富,果断地下令转向北方搜索。终于,在25分钟之后,他们发现正在海面上闪避美军鱼雷机的日本舰队。但因为云层遮掩,美军只看见两艘日本航母,于是他们分成两组,各攻击一艘。
随着几声巨响,“赤城”号的甲板上被炸开了一个大洞,中央升降机也被炸毁。过不了多久,另外几艘航母也遭到了几乎同样的命运,也笼罩在火焰中。
只见“赤城”号中弹之后,火势持续增强,已经丧失了担任旗舰的指挥功能,南云忠一被迫离舰。“赤城”号火势不熄,但到黄昏仍未沉没。
此外,“加贺”号承受4枚炸弹,舰桥上的人员,包括舰长,全被炸死。该舰的飞行部队长,高久天城中校接管指挥权。火势似乎已被控制,但是装汽油的几个大油箱却在飞行甲板上爆炸,火焰蔓延到整个甲板。下午时分,高久下令弃舰。黄昏时分,“加贺”号内部传出两次猛烈爆炸,舰身裂开并迅速下沉。
而“苍龙”号至少被3枚炸弹击中,整个飞行甲板都被烈焰笼罩,甲板上堆置的弹药被引爆,因此很难确切判断究竟被几枚炸弹击中。傍晚时分,“苍龙”号的舰尾先下沉,舰首高高耸立,其舰身也突地“咋喀”一声发生断裂,然后又缓缓沉没。
尽管此时南云忠一的舰队情况十分危急,但他仍未放弃轰炸美军舰队的计划。随着他一声令下,又有18架俯冲轰炸机由6架零式飞机护航飞向美舰的位置。但早有防备的美军依靠雷达的帮助,在80公里外即知日机来袭,并紧急起飞战斗机迎击日军。日军18架俯冲轰炸机以“约克城”号为目标,只有5架通过火网,3枚炸弹命中。一枚甚至由烟囱钻入机房,“约克城”号一时陷入迷乱之中。
就在“约克城”号挨炸的时候,“苍龙”号的侦察机回到日本舰队上空。但此时“苍龙”号已经是一片火海,飞行员只得降在“飞龙”号上,美军一共有“约克城”、“大黄蜂”及“企业”号三艘航母。但谁想到“约克城”号在两小时之内就修复大部分损伤,因此,“飞龙”号的第2批攻击兵力再度找到“约克城”号的时候,因为雷达的预警,美军已有准备。结果,日军损失惨重,仅命中两枚鱼雷。