First Stage · Group B · Wednesday, June 24 · BC Place Vancouver, Vancouver · 52,497 in the stands
kickoff 12:00 local · 26°C · 48% humidity · roofed stadium
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
- 46′Vargas0.25 xG
- 57′Manzambi0.12 xG
- 76′P. David0.54 xG
The xG race — cumulative expected goals, minute by minute
SUI 0:0 CANOn paper vs as played — formation sheet vs heatmap reality
SUI 4-2-3-1 attack →, ← CAN 4-4-2 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. Switzerland attack →, ← Canada attack. Brighter is more presence; where the colors meet is the contested ground.
How it happened
- 32′Cyle LARIN (Canada) is booked by the referee.
- 32′Granit XHAKA (Switzerland) is booked by the referee.
- 46′Ruben VARGAS (Switzerland) scores!!
- 57′Johan MANZAMBI (Switzerland) scores!!
- 58′Tani OLUWASEYI (in) comes off the bench to replace Cyle LARIN (out) (Canada)
- 58′Stephen EUSTAQUIO (in) comes off the bench to replace Mathieu CHOINIERE (out) (Canada)
- 58′Liam MILLAR (in) comes off the bench to replace Ali AHMED (out) (Canada)
- 74′Silvan WIDMER (in) comes off the bench to replace Luca JAQUEZ (out) (Switzerland)
- 74′Michel AEBISCHER (in) comes off the bench to replace Djibril SOW (out) (Switzerland)
- 74′Promise DAVID (in) comes off the bench to replace Tajon BUCHANAN (out) (Canada)
- 76′Promise DAVID (Canada) scores!!
- 80′Dan NDOYE (in) comes off the bench to replace Ruben VARGAS (out) (Switzerland)
- 83′Jacob SHAFFELBURG (in) comes off the bench to replace Richie LARYEA (out) (Canada)
- 85′Cedric ITTEN (in) comes off the bench to replace Breel EMBOLO (out) (Switzerland)
- 85′Christian FASSNACHT (in) comes off the bench to replace Johan MANZAMBI (out) (Switzerland)
- 87′Liam MILLAR (Canada) is booked by the referee.
The morning-after column · AI-written from the match data
Swiss precision punishes Canada's late desperation
The numbers tell a damning story for the hosts. With xG barely separated (1.68 to 1.61), Switzerland's clinical finishing proved decisive—two goals from chances with combined xG of 0.37. Canada squandered their clear cut openings: a high-quality chance at 68 minutes blocked, then in the dying seconds, two final moments (xG 0.29 and 0.17) fell to either side of Saliba's desperate defending. Promise David's superb 8.2 rating couldn't compensate for teammates who couldn't finish. Switzerland's recovery speed, combined with Manzambi's composure, won what Canada had controlled on the surface.
Switzerland won with 1.68 xG while Canada mustered 1.61 from 13 shots; clinical finishing, not dominance, decided it.
57′
Switzerland's second goal, made it 2-0 and ended Canada's contest before desperation fully set in.
What Switzerland needed
Smothered Canada's intensity with possession discipline and struck when it mattered.
- Recovery time of 10.0s vs 14.5s created passing angles Canada couldn't disrupt.
- Converted low-quality chances (0.25 and 0.12 xG) while Canada's highest-value shot (0.54 xG) was their only goal.
- High-press volume (2.6 phases) limited turnovers; let Canada exhaust themselves hunting possession.
What Canada needed
Intensity without composure: missed two crucial late chances that would have earned at least a draw.
- 13 shots vs 6 underlined dominance, but only 7 on target; clinical finishing beats volume.
- 9.7 high-press phases backfired: slower 14.5s recovery left defensive gaps at transitions.
- Late desperation (90+1', 90+3') produced chances but conversion failure cost the point; composure from deeper would have helped.