Quarter-final · Thursday, July 9 · Boston Stadium, Boston · 63,811 in the stands
kickoff 16:00 local · 31°C · 59% humidity
tap a player for their match file
match pulse — xG per 5 minutes · goals · cards
goals — hover the strip for every shot and card, with names
- 60′Mbappe0.05 xG
- 66′Dembélé0.12 xG
The xG race — cumulative expected goals, minute by minute
FRA 0:0 MAROn paper vs as played — formation sheet vs heatmap reality
FRA 4-2-3-1 attack →, ← MAR 4-2-3-1 attack. The teamsheet, as announced.
The duel — team data, FIFA tracking included
Territory — where each team lived
Every player's heatmap, minutes-weighted and stacked per team. France attack →, ← Morocco attack. Brighter is more presence; where the colors meet is the contested ground.
How it happened
- 28′Penalty Awarded
- 60′Kylian MBAPPE (France) scores!!
- 62′Sofyan AMRABAT (in) comes off the bench to replace Ayyoub BOUADDI (out) (Morocco)
- 62′Soufiane RAHIMI (in) comes off the bench to replace Bilal EL KHANNOUSS (out) (Morocco)
- 63′Issa DIOP (Morocco) is booked by the referee.
- 66′Ousmane DEMBELE (France) scores!!
- 71′Warren ZAIRE-EMERY (in) comes off the bench to replace Manu KONE (out) (France)
- 74′Zakaria EL OUAHDI (in) comes off the bench to replace Anass SALAH EDDINE (out) (Morocco)
- 74′Gessime YASSINE (in) comes off the bench to replace Brahim DIAZ (out) (Morocco)
- 77′Jean-Philippe MATETA (in) comes off the bench to replace Kylian MBAPPE (out) (France)
- 77′Bradley BARCOLA (in) comes off the bench to replace Desire DOUE (out) (France)
- 85′Amine SBAI (in) comes off the bench to replace Chemsdine TALBI (out) (Morocco)
- 87′Malo GUSTO (in) comes off the bench to replace Jules KOUNDE (out) (France)
The morning-after column · AI-written from the match data
France's Clinical Patience Outlasts Morocco
The numbers explained everything. France's 3.52 expected goals against Morocco's 0.16 was less a match than a masterclass in control: Dembélé (8.6) and Mbappé (8.2) terrorised a backline that had no answer to their movement. Bounou (7.0) worked tirelessly in Morocco's goal, bailing out a defence that weathered 22 shots. France squandered bigger chances—a 0.79-xG save in the 28th minute, a 0.48 miss in the 56th, another 0.65 miss in the 88th—yet the two that counted sufficed to close a quarter-final that was never a contest.
France's 3.52 expected goals to Morocco's 0.16 wasn't merely a quarter-final scoreline—it was an artillery strike against a cavalry charge that never materialised.
60′
France's opening goal—the release that converted dominance into victory
What France needed
Dominance in chance creation and clinical second-half finishing made Morocco's resistance untenable.
- 22 shots to Morocco's 5 created unsustainable pressure; one team couldn't handle offensive volume
- Dembélé (8.6) and Mbappé (8.2) versus Morocco's best (Diaz 6.8) exposed class gap on wing
- Missed 0.79 and 0.65-xG chances; either converted makes Morocco's retreat catastrophically exposed
What Morocco needed
Starved of possession and creation, they lacked the attacking spark to threaten France.
- 0.16 xG and 5 shots: offensive plan never threatened, only endured (until it collapsed)
- One on-target shot required precise finishing; that single chance defined their attacking output
- High press phases (4.1) below France's (5.0); midfield press failed to generate turnovers upfield