Highlights
Match recap
Spain's semi-final blueprint held up exactly as planned: draw the foul, take the lead, manage the game from ahead. Mikel Oyarzabal converted a 22nd-minute penalty, and by the time Pedro Porro doubled it in the 58th — turning in a low ball from Dani Olmo — France's response had nowhere to go. Kylian Mbappé, booked late for his frustration, never found the space he needed against a Spain back line that gave up almost nothing after halftime. The underlying numbers tell an odd story: France leaned heavily on their left flank (57% of their attacking output) without ever generating real danger there, while Spain's much smaller central slice — just 21% of their own attacking share — produced 1.5 expected goals on its own, more than the rest of the match combined. Spain needed only two clean looks at goal to make the difference; France never really got one. A defining defensive performance sends Spain to the final; France's World Cup ends in the semis for the second straight cycle.
Match analysis
Key Events
Lineups
Key Stats
Shot Map
Pinch to zoomMatch Momentum
Expected Goals
Match Stats
Attack By Flanks · Match Analysis
Final-Third Entries
Where each team got the ball into the final third · Brighter = higher xG
Final-third entries grouped by left / center / right channel. Zone brightness reflects xG (goal threat), not raw volume.
Territorial Control · Match Analysis
Zone Dominance
On-ball actions per zone · Brighter = higher share
24%
att. third
16%
att. third
Attack →
Attack →
On-ball actions (passes, carries, dribbles, shots) across six pitch zones. Top row = left channel, bottom row = right channel.
Pass Networks · Match Analysis
Passing Connections
Average positions · Node size = pass volume · Line width = pair frequency
Attack →
Attack →
Player positions averaged across all successful passes. Node size = passes attempted; line width = pair frequency.
Player Comparison Scatter · Match Analysis
0 — 2



