MUNDIAL·26

Round of 32 · Thursday, July 2 · Toronto Stadium, Toronto · 43,036 in the stands

kickoff 19:00 local · 29°C · 67% humidity

Portugal

68 CRISTIANO RONALDO

90+4 GONCALO RAMOS (pen)

2:1

Croatia

53 Ivan PERISIC (pen)

tap a player for their match file

Portugal4-2-3-1
Croatia4-2-3-1
DIOGO COSTA6.8RUBEN DIAS6.7RENATO VEIGA7.1JOAO CANCELO6.7NUNO MENDES7.6BRUNO FERNANDES6.9JOAO NEVES6.5VITINHA6.8CRISTIANO RONALDO7.1RAFAEL LEAO7.1PEDRO NETO6.5Dominik LIVAKOVIC6.3Josip STANISIC6.4Marin PONGRACIC6.4Josip SUTALO6.5Mateo KOVACIC7.4Luka MODRIC6.7Nikola VLASIC5.6Martin BATURINA6.9Petar SUCIC6.9Ante BUDIMIR6.5Ivan PERISIC7.2
from the bench

match pulse — xG per 5 minutes · goals · cards

4590105109PORCRO

goals — hover the strip for every shot and card, with names

  • 53Perisic0.21 xG
  • 68Ronaldo0.79 xG
  • 90+4Ramos0.07 xG
POR 0:0 CRO0'kickoff
3' Budimir — xG 0.13 · Missed4' Fernandes — xG 0.29 · Saved4' Fernandes — xG 0.34 · Blocked4' Vitinha — xG 0.03 · Blocked7' Cancelo — xG 0.04 · Missed10' Budimir — xG 0.04 · Missed13' Ronaldo — xG 0.04 · Blocked16' Veiga — xG 0.23 · Missed24' J. Neves — xG 0.10 · Missed28' Baturina — xG 0.05 · Blocked34' Mendes — xG 0.01 · Blocked45 + 1' Leao — xG 0.02 · Missed48' Kovacic — xG 0.14 · Saved49' Vlašić — xG 0.02 · Missed53' Perisic — xG 0.21 · Goal58' Leao — xG 0.06 · Post59' Sučić — xG 0.08 · Saved68' Ronaldo — xG 0.79 · Goal75' Kovacic — xG 0.04 · Saved75' Kovacic — xG 0.08 · Saved76' Matanovic — xG 0.07 · Missed77' Matanovic — xG 0.23 · Saved87' Veiga — xG 0.19 · Missed89' Pasalic — xG 0.16 · Missed90 + 1' Ramos — xG 0.06 · Missed90 + 4' Ramos — xG 0.07 · Goal90 + 9' Matanovic — xG 0.11 · Blocked90 + 12' Conceição — xG 0.04 · Missed90 + 13' Matanovic — xG 0.02 · Missed

▶ Watch every shot in 3D⟲ Replay the match

The xG race — cumulative expected goals, minute by minute

POR 0:0 CRO
1.02.0015304560759010553' Perisic — GOAL68' Ronaldo — GOAL90 + 4' Ramos — GOAL2.311.38

On paper vs as played — formation sheet vs heatmap reality

POR 4-2-3-1 attack →, ← CRO 4-2-3-1 attack. The teamsheet, as announced.

1DIOGO COSTADIOGO COSTA3RUBEN DIASRUBEN DIAS13RENATO VEIGARENATO VEIGA20JOAO CANCELOJOAO CANCELO25NUNO MENDESNUNO MENDES8BRUNO FERNANDESBRUNO FERNANDES15JOAO NEVESJOAO NEVES23VITINHAVITINHA7CRISTIANO RONALDOCRISTIANO RONALDO17RAFAEL LEAORAFAEL LEAO18PEDRO NETOPEDRO NETO1Dominik LIVAKOVICDominik LIVAKOVIC2Josip STANISICJosip STANISIC3Marin PONGRACICMarin PONGRACIC6Josip SUTALOJosip SUTALO8Mateo KOVACICMateo KOVACIC10Luka MODRICLuka MODRIC13Nikola VLASICNikola VLASIC16Martin BATURINAMartin BATURINA17Petar SUCICPetar SUCIC11Ante BUDIMIRAnte BUDIMIR14Ivan PERISICIvan PERISIC

The duel — team data, FIFA tracking included

55%
Possession
38%
1.91
Expected goals
1.17
59
Threat
41
15
Shots
13
3
On target
6
538
Passes completed
330
42
Forced turnovers
35
13.1s
Ball recovery time
21.2s
9.83
High-press phases
2.36
12
Fouls committed
6
1
Offsides
4
117 km
Distance covered
118 km
35.9 km/h
Top speed
33.5 km/h

Territory — where each team lived

Every player's heatmap, minutes-weighted and stacked per team. Portugal attack →, Croatia attack. Brighter is more presence; where the colors meet is the contested ground.

How it happened

  1. 17RUBEN DIAS (Portugal) is booked by the referee.
  2. Before the second half begins Igor MATANOVIC (in) comes off the bench to replace Ante BUDIMIR (out) (Croatia)
  3. 53Ivan PERISIC (Croatia) scores!!
  4. 59Luka MODRIC (Croatia) is booked by the referee.
  5. 62FRANCISCO CONCEICAO (in) comes off the bench to replace PEDRO NETO (out) (Portugal)
  6. 62BERNARDO SILVA (in) comes off the bench to replace VITINHA (out) (Portugal)
  7. 62NELSON SEMEDO (in) comes off the bench to replace BRUNO FERNANDES (out) (Portugal)
  8. 62GONCALO RAMOS (in) comes off the bench to replace JOAO CANCELO (out) (Portugal)
  9. 68Penalty Awarded
  10. 68CRISTIANO RONALDO (Portugal) successfully converts the penalty!
  11. 68Mario PASALIC (in) comes off the bench to replace Martin BATURINA (out) (Croatia)
  12. 81RUBEN NEVES (in) comes off the bench to replace CRISTIANO RONALDO (out) (Portugal)
  13. 90+2Josko GVARDIOL (in) comes off the bench to replace Nikola VLASIC (out) (Croatia)
  14. 90+4GONCALO RAMOS (Portugal) scores!!
  15. 90+6Andrej KRAMARIC (in) comes off the bench to replace Mateo KOVACIC (out) (Croatia)
  16. 90+8Ivan PERISIC (Croatia) is booked by the referee.

The morning-after column · AI-written from the match data

Portugal's Profligacy Pardoned by Late Ruthlessness

Portugal dominated possession and pressing from the outset, but squandered the match's clearest opportunities in a chaotic opening quarter. Three big chances gone begging—blocked, saved, missed—in the first sixteen minutes left Gonçalo Ramos and his teammates frustrated. Croatia, camping deep with only 2.4 high-press phases, absorbed the pressure and struck first through a low-xG chance at 53'. The game tilted on a knife's edge: Portugal were outplaying them, yet losing.

The numbers exposed Croatia's fatal weakness. Slow ball recovery—21.2 seconds versus Portugal's 13.1—meant they could never build momentum from transitions. Ramos (7.7) led the press that wore them down; Mateo Kovacic (7.4) fought valiantly in midfield but couldn't stop the tide. Portugal equalized at 68' with a genuine chance (0.79 xG), then punished late-game fatigue with a 90+4' goal from barely-expected territory (0.07 xG). Croatia's 6 shots on-target masked a deeper truth: they were never going to win this match.

Portugal's 1.91 xG created genuine control; Croatia's 6 shots on-target created an illusion of resilience that their 21.2-second ball recovery time demolished.

90+4

Portugal's low-probability late goal—the only finish that mattered when the pressure finally broke through.

What Portugal needed

Controlled and won, but one moment of poor finishing in the opening quarter threatened to undo it all.

  • Missed three big chances worth 0.86 xG in first 16 minutes—conversion rate, not creation, was the issue.
  • High pressing (9.8 phases) exhausted Croatia's recovery time; pressing worked when discipline held.
  • Late goal at 0.07 xG shows ruthlessness; could have cost them dearly if Croatia's save at 77' had fallen differently.

What Croatia needed

Defended deep but lacked the recovery pace and clinical edge to punish Portugal's early misses.

  • Ball recovery time (21.2s) too slow; Portugal's 13.1s dominance in transition broke defensive shape repeatedly.
  • Saved six shots but scored only once—clinical defending without attacking reward compounds low 1.17 xG.
  • Missed big chance at 77' (0.23 xG) in a match where one more goal changes the story entirely.