De regen viel steeds harder over Philadelphia toen de wedstrijd al een half uur aan de gang was. De storm, voorspeld door de weeralarmen, kwam met kracht neer nabij het stadion en dwong de teams om het risico te beoordelen alleen door het ontbreken van bliksem. Zonder onweer ging de wedstrijd door.
Het eerste doelpunt kwam snel. Kylian Mbappé kreeg een korte pass van Olise en rondde af met een krachtige linkervoet voor de 1-0. Het was zijn derde treffer van het toernooi. Het doelpunt volgde na een actie waarin de aanvaller probeerde te combineren en bij tegenstand van Doski koos voor een individuele afwerking.
Irak leed kort daarna een nieuwe tegenslag. Hussein, die eerder scoorde tegen Noorwegen, raakte geblesseerd tijdens de drinkpauze en werd vervangen door Al-Hamadi. Na een begin met verschillende overtredingen die de Canadese scheidsrechter liet passeren, stabiliseerde de wedstrijd.
Bij rust hield Frankrijk de minimale voorsprong. De storm viel samen met de rust en maakte de tribunes leeg. Het weerprotocol verlengde de pauze met meer dan twee uur, ruim boven de gebruikelijke vijftien minuten.
Bij de hervatting was Irak verrast. Een fout bij een uittrap tussen de keeper en een centrale verdediger stelde Ousmane Dembélé in staat Mbappé te bedienen, die de 2-0 maakte. De Franse aanvaller dook opnieuw op in het beslissende moment.
Kort daarna scoorde Dembélé de derde treffer met hulp van Olise. Trainer Didier Deschamps begon daarop met wisselen, net als zijn Iraakse collega. De wedstrijd was beslist en beide teams beperkten zich tot het managen van de stand.
Het duel duurde in totaal bijna vier uur. Mbappé was de hoofdrolspeler te midden van de weerschaos en liet zijn stempel achter met twee doelpunten in de Franse zege.