Attacchi aerei iniziali
Verso le 09:00 del 3 giugno, un aereo di pattuglia della Marina statunitense ha avvistato la Forza di occupazione giapponese a 500 miglia nautiche (580 miglia; 930 chilometri) a ovest-sud-ovest di Midway. Tre ore dopo, gli americani hanno trovato il gruppo di trasporto giapponese a 570 miglia nautiche (660 miglia; 1.060 chilometri) a ovest. Attaccarono, ma nessuna delle bombe colpì e non ne derivò alcun danno grave. La mattina seguente la petroliera giapponese Akebono Maru è stata colpita da un siluro di un PBY. Questo è stato l'unico attacco aereo lanciato con successo dagli Stati Uniti durante l'intera battaglia.
Alle 04:30 del 4 giugno, Nagumo ha lanciato il suo attacco a Midway. Si trattava di 36 bombardieri in picchiata e 36 siluranti, scortati da 36 caccia Mitsubishi Zero. Nello stesso momento ha lanciato una pattuglia aerea di combattimento difensivo. I suoi otto aerei da ricerca sono stati lanciati con 30 minuti di ritardo.
I piani di ricognizione giapponesi erano poveri, con troppo pochi aerei per coprire le aree di ricerca. Le decisioni di Yamamoto erano ormai diventate un problema serio.
Mentre i bombardieri e i caccia di Nagumo decollavano, 11 PBY lasciavano Midway per cercare le navi giapponesi. Riferirono di aver avvistato due portaerei giapponesi con ponti vuoti, il che significava che era in arrivo un attacco aereo. Il radar americano captò il nemico a diverse miglia di distanza, e gli aerei furono mandati a difendere Midway. I bombardieri si sono diretti ad attaccare la flotta di portaerei giapponesi. I caccia americani rimasero indietro per difendere Midway. Alle 06:20 gli aerei delle portaerei giapponesi bombardarono e danneggiarono pesantemente la base americana. I piloti dei caccia della base di Midway, che volavano con gli F4F e gli obsoleti F2A, intercettarono i giapponesi e subirono molte perdite. La maggior parte degli aerei statunitensi sono stati abbattuti nei primi minuti; diversi sono stati danneggiati e solo due sono riusciti a volare. In tutto, 3 F4F e 13 F2A sono stati abbattuti. Il fuoco antiaereo americano è stato accurato danneggiando molti aerei giapponesi e distruggendone quattro.
Dei 108 aerei giapponesi coinvolti in questo attacco, 11 sono stati distrutti, 14 sono stati pesantemente danneggiati e 29 sono stati danneggiati. L'attacco iniziale giapponese non ha distrutto Midway: I bombardieri americani potevano ancora usare la base aerea per fare rifornimento e attaccare la forza d'invasione giapponese. La maggior parte delle difese terrestri di Midway erano intatte. Un altro attacco aereo per distruggere le difese di Midway sarebbe stato necessario se le truppe fossero state in grado di scendere a terra entro il 7 giugno.
I bombardieri americani basati su Midway hanno sferrato diversi attacchi alla flotta delle portaerei giapponesi. Questi includevano sei Grumman Avengers del VT-8 della Hornet (Midway fu la prima missione di combattimento per gli aviatori del VT-8, e fu il primo combattimento del TBF), Marine Scout-Bombing Squadron 241 (VMSB-241), composto da undici SB2U-3 e sedici SBD, più quattro USAAF B-26, armati di siluri, e quindici B-17. I giapponesi hanno combattuto questi attacchi. Gli Stati Uniti hanno perso due caccia, cinque TBF, due SB2U, otto SBD e due B-26.
Un B-26, dopo essere stato gravemente danneggiato dal fuoco della contraerea, si è tuffato direttamente verso l'Akagi. L'aereo ha appena perso il ponte della portaerei, che avrebbe potuto uccidere Nagumo e il suo staff di comando. Questo potrebbe aver fatto decidere a Nagumo di lanciare un altro attacco a Midway, contro l'ordine di Yamamoto di mantenere la forza di riserva per le operazioni antiaeree.
La decisione di Nagumo
L'ammiraglio Nagumo aveva tenuto metà dei suoi aerei di riserva. Si trattava di due squadriglie di bombardieri in picchiata e siluranti. Alle 07:15 Nagumo ordinò che i suoi aerei di riserva fossero riarmati con bombe da usare contro obiettivi terrestri. Alle 07:40 un aereo da ricognizione di Tone vide una grande forza navale americana verso est. Sembra che Nagumo non abbia ricevuto il rapporto fino alle 08:00. Nagumo invertì l'ordine, ma ci vollero 40 minuti prima che il ricognitore di Tone comunicasse finalmente via radio che c'era una portaerei nelle forze americane. Si trattava di una delle portaerei della TF 16; l'altra portaerei non è stata avvistata.
Nagumo non sapeva più cosa fare. Il contrammiraglio Tamon Yamaguchi raccomandò a Nagumo di colpire con le forze a disposizione: 18 bombardieri in picchiata Aichi D3A su Sōryū e Hiryū ciascuno, e metà degli aerei di pattuglia di copertura. L'opportunità di Nagumo di colpire le navi americane, tuttavia, era ormai limitata. La forza d'assalto Midway sarebbe tornata a breve e avrebbe dovuto atterrare o schiantarsi in mare. A causa della costante attività del ponte di volo, i giapponesi non riuscirono a portare i loro aerei di riserva sul ponte di volo per il lancio. I pochi aerei che erano pronti erano caccia difensivi. Il lancio degli aerei avrebbe richiesto almeno 30-45 minuti. Lanciando subito, Nagumo avrebbe usato parte della sua riserva senza le adeguate armi antistronave. Aveva appena visto come erano stati abbattuti facilmente i bombardieri americani senza scorta. La scarsa disciplina ha fatto sì che molti dei bombardieri giapponesi si sbarazzassero delle loro bombe e cercassero di combattere intercettando gli F4F. Le regole delle portaerei giapponesi preferivano gli scioperi completi, e poiché Nagumo non sapeva che le forze americane includevano una portaerei, la sua risposta seguì le regole giapponesi. Inoltre, l'arrivo di un altro attacco aereo americano alle 07:53 ha fatto sì che Nagumo volesse attaccare di nuovo l'isola. Nagumo decise di attendere l'atterraggio della sua prima forza d'attacco, per poi lanciare la riserva, che a quel punto sarebbe stata già armata e pronta.
Le portaerei di Fletcher avevano lanciato i loro aerei a partire dalle 07:00, quindi gli aerei che hanno attaccato Nagumo erano già in viaggio. Non c'era niente che Nagumo potesse fare. Questo era il difetto dei piani di Yamamoto.
Attacchi alla flotta giapponese
Gli americani avevano già lanciato i loro aerei da trasporto contro i giapponesi. L'ammiraglio Fletcher, al comando a bordo della Yorktown, e avendo rapporti di avvistamento del PBY fin dalle prime ore del mattino, ordinò un attacco contro i giapponesi il più presto possibile. Teneva la Yorktown di riserva nel caso in cui fossero state trovate altre portaerei giapponesi. (Le indicazioni di Fletcher per Spruance furono inviate da Nimitz, che era rimasto a terra).
Spruance pensava che anche se il raggio d'azione era lontano, un attacco poteva riuscire. Diede l'ordine di lanciare l'attacco intorno alle 06:00. Fletcher, dopo aver completato i suoi voli di ricognizione, lo seguì alle 08:00 da Yorktown.
L'ammiraglio Fletcher, al comando della task force di Yorktown, insieme al capitano Elliott Buckmaster, l'ufficiale comandante di Yorktown, e il loro staff avevano esperienza nell'effettuare un attacco completo contro una forza nemica nel Mar dei Coralli. Ma non potevano trasmettere ciò che avevano imparato all'Enterprise e alla Hornet, a cui era stato ordinato di lanciare il primo attacco. Spruance ordinò agli aerei di andare subito al bersaglio, poiché distruggere le portaerei nemiche era importante per la sicurezza delle sue navi. Spruance decise che era più importante attaccare il prima possibile, piuttosto che coordinare l'attacco con aerei di diverso tipo e velocità (caccia, bombardieri e siluranti). Le squadriglie americane si recarono al bersaglio in diversi gruppi. Sperava di trovare Nagumo con il ponte di volo pieno di aerei.
L'aereo della portaerei americana ha avuto difficoltà a localizzare l'obiettivo. L'attacco della Hornet, guidato dal comandante Stanhope C. Ring, non ha volato nella giusta direzione. I bombardieri in picchiata del Gruppo Otto hanno mancato le portaerei giapponesi. La Squadriglia Siluri 8 ha volato nella direzione corretta. Tuttavia, i 10 F4F della Hornet avevano finito il carburante e si sono dovuti schiantare nell'oceano. Lo squadrone di Waldron vide le portaerei nemiche e iniziò ad attaccare alle 09:20, seguito dallo squadrone Torpedo 6 (VT-6, dell'Enterprise) le cui scorte di caccia Wildcat erano a corto di carburante e dovettero tornare indietro alle 09:40. Senza scorta di caccia, tutti i quindici Devastatori TBD del VT-8 furono abbattuti senza poter fare alcun danno, con il Guardiamarina George Gay unico sopravvissuto. La VT-6 perse 10 dei 14 Devastatori, e 10 dei 12 Devastatori della VT-3 di Yorktown furono abbattuti senza alcun danno. Parte del problema è stata la scarsa prestazione dei siluri Mark 13. Gli ufficiali superiori della Marina e del Bureau of Ordnance non si sono mai chiesti perché sei siluri, lanciati così vicino alle portaerei giapponesi, non hanno prodotto alcun colpo. La pattuglia aerea di combattimento giapponese, che volava con la Mitsubishi A6M2 Zeros, ha abbattuto i TBD senza scorta, lenti, sotto le armi. Alcuni TBD sono riusciti ad avvicinarsi abbastanza per lanciare i loro siluri e sparare con le loro mitragliatrici contro le navi nemiche. Questo ha fatto sì che le portaerei giapponesi facessero virate brusche. Il TBD Devastator non fu mai più usato in combattimento.
Nonostante non siano riusciti ad ottenere alcun risultato, gli attacchi dei siluri americani hanno reso le portaerei giapponesi incapaci di preparare e lanciare il proprio attacco. Hanno anche fatto uscire di posizione la pattuglia aerea da combattimento giapponese (CAP). Inoltre, molti Zero erano a corto di munizioni e di carburante. La comparsa di un terzo attacco aereo silurante da sud-est da parte del Torpedo Squadron 3 (VT-3 da Yorktown) alle ore 10:00 ha fatto volare il CAP giapponese verso l'angolo sud-est della flotta. Una migliore disciplina e l'uso di più Zero per il CAP avrebbe potuto permettere a Nagumo di prevenire i danni causati dai prossimi attacchi americani.
Tre squadroni di SBD di Enterprise e Yorktown (rispettivamente VB-6, VS-6 e VB-3) si stavano avvicinando da sud-ovest e nord-est. Le due squadriglie dell'Enterprise erano a corto di carburante a causa del tempo trascorso a cercare il nemico. Tuttavia, il comandante della squadriglia decise di continuare la ricerca. Avvistò il cacciatorpediniere giapponese Arashi. Si stava muovendo per raggiungere le portaerei di Nagumo dopo aver caricato senza successo il sottomarino statunitense Nautilus. Il Nautilus aveva già attaccato senza successo la corazzata Kirishima. Alcuni bombardieri sono andati perduti per mancanza di carburante prima dell'inizio dell'attacco.
La decisione di McClusky di continuare la ricerca è stata di grande aiuto per la task force della portaerei americana e per le forze di Midway. Tutti e tre gli squadroni di bombardieri in picchiata americani (VB-6, VS-6 e VB-3) sono arrivati al momento giusto per attaccare. La maggior parte dei CAP giapponesi erano alla ricerca dei siluri. Gli aerei d'attacco armati giapponesi riempivano i ponti degli hangar, i tubi del carburante giacevano sui ponti e le bombe e i siluri erano vicino agli hangar, rendendo le portaerei giapponesi molto a rischio di essere danneggiate.
A partire dalle 10:22, le due squadriglie del gruppo aereo dell'Enterprise si sono divise e hanno attaccato due obiettivi. Per caso, entrambi i gruppi hanno attaccato la Kaga. Il tenente comandante Richard Halsey Best e altri due aerei si sono diretti a nord per attaccare Akagi. Arrivando sotto l'attacco di quasi due squadroni completi, Kaga è stato colpito da quattro o cinque bombe, che hanno causato gravi danni e acceso fuochi che non si sono potuti spegnere. Una delle bombe atterrò vicino al ponte, uccidendo la maggior parte degli ufficiali superiori.
Alcuni minuti dopo, Best e due aerei si tuffano sull'Akagi. Anche se l'Akagi ha ricevuto un colpo diretto (lanciato dal capitano di corvetta Best). Ha colpito l'elevatore del ponte ed è andato fino al ponte superiore dell'hangar. Esplose tra gli aerei armati e riforniti di carburante. Un'altra bomba esplose sott'acqua che piegò il ponte di volo e causò danni al timone.
Il VB-3 di Yorktown, comandato da Max Leslie, ha attaccato Sōryū. Hanno ricevuto almeno tre colpi e hanno causato molti danni. Il VT-3 ha preso di mira Hiryū, ma non ha ricevuto alcun colpo.
Nel giro di sei minuti, Sōryū e Kaga erano in fiamme. Anche Akagi è stato gravemente danneggiato. I giapponesi speravano che Akagi potesse essere salvato o riportato in Giappone. Alla fine, tutte e tre le portaerei furono abbandonate e affondate.
Contrattacchi giapponesi
Hiryū, l'unica portaerei giapponese sopravvissuta all'attacco. Il primo attacco di Hiryū consisteva in 18 bombardieri in picchiata e sei caccia di scorta. Seguirono gli aerei americani in ritirata e attaccarono la Yorktown, colpendola con tre bombe, che fecero un buco nel ponte, spensero le sue caldaie e distrussero diversi cannoni antiaerei. Nonostante i danni, le squadre di riparazione sono riuscite a riparare il ponte di volo e a riparare diverse caldaie in un'ora. Dodici bombardieri giapponesi in picchiata e quattro caccia di scorta sono andati persi in questo attacco.
Circa un'ora dopo, il secondo attacco di Hiryū è stato compiuto. Consisteva di dieci siluranti e sei A6M di scorta. Gli sforzi di riparazione degli Stati Uniti erano stati così ben fatti che i giapponesi pensarono che doveva essere una portaerei diversa, non danneggiata. Nell'attacco, la Yorktown fu colpita da due siluri; perse tutta la potenza e sviluppò un'inclinazione verso il porto, che la mise fuori combattimento. L'ammiraglio Fletcher spostò il suo staff di comando sull'incrociatore pesante Astoria. Nessuna delle due portaerei della Task Force 16 di Spruance fu danneggiata.
La notizia dei due scioperi, con la notizia che ognuno di essi aveva affondato una portaerei americana (in realtà Yorktown in entrambi i casi), ha migliorato notevolmente il morale nel Kido Butai. I pochi aerei sopravvissuti sono stati tutti recuperati a bordo della Hiryū, dove sono stati preparati per un attacco contro quella che si credeva fosse l'unica portaerei americana rimasta.
Contrattacco americano
Nel tardo pomeriggio, un aereo da ricognizione della Yorktown ha localizzato Hiryū. L'Enterprise ha lanciato un attacco di bombardieri in picchiata (compresi 10 SBD da Yorktown). Nonostante Hiryū sia stata difesa da più di una dozzina di caccia Zero, l'attacco dell'Enterprise ha avuto successo: quattro, forse cinque bombe hanno colpito Hiryū, lasciandola in fiamme e incapace di manovrare gli aerei. (L'attacco della Hornet ha colpito le navi di scorta, ma non ha avuto alcun riscontro.) Dopo tentativi senza speranza di controllare il fuoco, la maggior parte dell'equipaggio rimasto su Hiryū è stato portato via dalla nave. Il resto della flotta continuò a navigare verso nord-est per catturare le portaerei americane. Hiryū rimase a galla per diverse altre ore. Fu scoperta da un aereo della portaerei leggera Hōshō. Questo portò alla speranza che potesse essere salvata o rimorchiata in Giappone. Tuttavia, poco dopo essere stata avvistata, Hiryū è affondata. Il contrammiraglio Yamaguchi scelse di affondare con la sua nave, costando al Giappone il suo miglior ufficiale della portaerei.
Al calare delle tenebre, entrambe le parti hanno pensato alla situazione e hanno fatto piani d'azione. L'ammiraglio Fletcher dovette abbandonare la Yorktown. Sentiva di non poter comandare da un incrociatore. Diede il comando a Spruance. Spruance sapeva che gli Stati Uniti avevano ottenuto una grande vittoria, ma non era ancora sicuro di quali fossero le forze giapponesi rimaste. Voleva proteggere Midway e le sue portaerei. Seguì Nagumo durante il giorno e continuò a seguirlo al calar della notte. Infine, temendo una possibile battaglia notturna con le navi giapponesi e credendo che Yamamoto avesse ancora intenzione di invadere, Spruance si ritirò verso est. A mezzanotte si voltò verso ovest, verso il nemico. Yamamoto decise di continuare gli attacchi e inviò le navi rimaste a cercare le portaerei americane verso est. Inviò anche una forza di incursione di incrociatori per bombardare l'isola. Le navi giapponesi non riuscirono a mettersi in contatto con gli americani a causa della decisione di Spruance di ritirarsi verso est, e Yamamoto ordinò il ritiro ad ovest.
Spruance non è riuscito a riprendere contatto con le forze di Yamamoto il 5 giugno, anche se ha fatto molte ricerche. Verso la fine della giornata ha lanciato un attacco a qualsiasi nave della portaerei di Nagumo. Questo attacco ha mancato il principale gruppo di navi di Yamamoto. Non ha colpito un cacciatorpediniere giapponese. Gli aerei d'assalto tornarono alle portaerei dopo il tramonto. Spruance ordinò all'Enterprise e alla Hornet di accendere le loro luci per aiutare l'atterraggio.
Alle 02:15 della notte del 5/6 giugno, la Tambor del comandante John Murphy, nell'acqua a 90 miglia nautiche (100 miglia; 170 chilometri) a ovest di Midway, ha dato il secondo dei maggiori contributi della forza sottomarina all'esito della battaglia. Avvistando diverse navi, né Murphy né il suo ufficiale esecutivo, Ray Spruance, Jr., riuscirono a identificarle. Considerando che potrebbero essere navi americane, Murphy non fece fuoco, ma segnalò le navi all'Ammiraglio Robert English, Comandante, Forza sottomarina, Flotta del Pacifico (COMSUBPAC). Questo rapporto fu inviato a Nimitz, che poi lo inviò a Spruance. Spruance suppose che questa fosse la forza d'invasione e si mosse per bloccarla restando a 100 miglia nautiche (120 miglia; 190 chilometri) a nord-est di Midway.
Le navi avvistate da Tambor erano i quattro incrociatori e i due cacciatorpediniere che Yamamoto aveva mandato a bombardare Midway. Alle 02:55 queste navi ricevettero l'ordine di Yamamoto di ritirarsi e cambiarono rotta. All'incirca nello stesso momento del cambio di rotta, Tambor fu avvistata, e per evitare un attacco sottomarino Mogami e Mikuma si scontrarono, causando gravi danni alla prua di Mogami. Il Mikuma meno danneggiato ha rallentato a 12 nodi (22 chilometri all'ora; 14 miglia all'ora). Questo è stato il danno maggiore tra i 18 sottomarini schierati per la battaglia. Solo alle 04:12 il cielo si illuminò a sufficienza perché Murphy fosse sicuro che le navi fossero giapponesi, per cui il tempo di permanenza in superficie era pericoloso, e si tuffò per avvicinarsi per un attacco. L'attacco non ebbe successo, e intorno alle 06:00 finalmente segnalò due incrociatori della classe Mogami diretti a ovest.
Nei due giorni successivi, prima Midway e poi le portaerei di Spruance hanno lanciato diversi attacchi. Mikuma è stato affondato dalla Dauntlesses, mentre Mogami è sopravvissuto ai danni ed è tornato a casa per le riparazioni. Anche i cacciatorpediniere Arashio e Asashio sono stati bombardati e mitragliati durante l'ultimo di questi attacchi.
La Yorktown è stata trainata dalla USS Vireo. Nel tardo pomeriggio del 6 giugno, però, la I-168 lanciò dei siluri; due colpirono la Yorktown, ma un terzo colpì e affondò il cacciatorpediniere USS Hammann, che aveva fornito energia alla Yorktown. Hammann si spezzò in due con la perdita di 80 vite umane. La Yorktown affondò poco dopo le 05:00 del 7 giugno.