Vancouver Whitecaps vs San Diego FC

26 June 2025 · MLS · 2025 · Referee Ramy Touchan

Full time 3 – 5

Half-time: 1–3

  • Édier Ocampo 43’
  • Mathías Laborda 66’
  • Antoine Coupland 90+6’
  • Milan Iloski 35’, 37’, 44’, 47’
  • Tomás Ángel 90’

Match summary

San Diego FC took a 5-3 win at Vancouver Whitecaps. San Diego FC led 3-1 at half-time.

In the first half, Milan Iloski put San Diego FC ahead in the 35th minute, Iloski made it 0-2 in the 37th minute, Édier Ocampo pulled one back to make it 1-2 from a corner in the 43rd minute, and Iloski made it 1-3 with a header in the 44th minute. In the second half, Iloski made it 1-4 in the 47th minute, Mathías Laborda made it 2-4 in the 66th minute, Tomás Ángel made it 2-5 in the 90th minute, and Antoine Coupland made it 3-5 in stoppage time.

The chances backed that up: San Diego FC created 1.49 expected goals (xG) from 12 shots to Vancouver Whitecaps's 1.08 from 17.

Match stats

49% Possession 51%
17 Shots 12
5 Shots on target 8
7 Corners 3
447 Passes 483
86.8% Pass accuracy 86.3%
7 Tackles 12
15 Fouls 12
2 Yellow cards 2
0 Offsides 1

Key events

Vancouver Whitecaps San Diego FC
Kick-off
15’
Milan IloskiShot on target
32’
Alejandro Alvarado JrShot on target
35’
Milan IloskiLeft foot shot0-1 (San Diego FC)
35’
Milan IloskiShot on target
37’
Milan IloskiRight foot shot0-2 (San Diego FC)
Édier OcampoLeft foot shot1-2 (Vancouver Whitecaps)
43’
44’
Milan IloskiHeader1-3 (San Diego FC)
Half-time1-3
47’
Milan IloskiRight foot shot1-4 (San Diego FC)
Second half underway
Pedro ViteShot on target
52’
Emmanuel SabbiShot on target
57’
Mathías LabordaRight foot shot2-4 (Vancouver Whitecaps)
66’
Jean-Claude NgandoEmmanuel Sabbi
70’
79’
Tomás ÁngelAlex Mighten
81’
Antoine CouplandAndrés Cubas
87’
90’
Tomás ÁngelLeft foot shot2-5 (San Diego FC)
Damir KreilachÉdier Ocampo
90+1’
Antoine CouplandLeft foot shot3-5 (Vancouver Whitecaps)
90+6’
Full-time3-5

How the chances added up

Running total of expected goals (xG) for each side through the match. xG rates each chance by how often similar shots are scored. A goal is marked where it was scored.

0.0 0.5 1.0 1.5 2.0 0’ 15’ 30’ 45’ 60’ 75’ 90’ HT 1.08 1.49 35’ Milan Iloski (San Diego FC), 0-1 35’ 37’ Milan Iloski (San Diego FC), 0-2 37’ 43’ Édier Ocampo (Vancouver Whitecaps), 1-2 43’ 44’ Milan Iloski (San Diego FC), 1-3 44’ 47’ Milan Iloski (San Diego FC), 1-4 47’ 66’ Mathías Laborda (Vancouver Whitecaps), 2-4 66’ 90’ Tomás Ángel (San Diego FC), 2-5 90’ 90+6’ Antoine Coupland (Vancouver Whitecaps), 3-5 90+6’ 0.0 0.5 1.0 1.5 2.0 0’ 15’ 30’ 45’ 60’ 75’ 90’ HT 1.08 1.49 35’ Milan Iloski (San Diego FC), 0-1 Iloski 35’ 37’ Milan Iloski (San Diego FC), 0-2 Iloski 37’ 43’ Édier Ocampo (Vancouver Whitecaps), 1-2 Ocampo 43’ 44’ Milan Iloski (San Diego FC), 1-3 Iloski 44’ 47’ Milan Iloski (San Diego FC), 1-4 Iloski 47’ 66’ Mathías Laborda (Vancouver Whitecaps), 2-4 Laborda 66’ 90’ Tomás Ángel (San Diego FC), 2-5 Ángel 90’ 90+6’ Antoine Coupland (Vancouver Whitecaps), 3-5 Coupland 90+6’
Vancouver Whitecaps 1.08 xGSan Diego FC 1.49 xG Goal

Tap a goal for the scorer and score.

Shot map

Every shot and where it was taken from.

 San Diego FC attacking Vancouver Whitecaps attacking 
47’ Milan Iloski (San Diego FC), open play, 0.41 xG, goal 90’ Tomás Ángel (San Diego FC), open play, 0.42 xG, goal 37’ Milan Iloski (San Diego FC), open play, 0.20 xG, goal 77’ Tristan Blackmon (Vancouver Whitecaps), open play, 0.18 xG, off target 44’ Milan Iloski (San Diego FC), open play, 0.14 xG, goal 57’ Emmanuel Sabbi (Vancouver Whitecaps), open play, 0.12 xG, saved 66’ Mathías Laborda (Vancouver Whitecaps), open play, 0.10 xG, goal 53’ Ranko Veselinović (Vancouver Whitecaps), from a corner, 0.10 xG, off target 31’ Luca Bombino (San Diego FC), open play, 0.07 xG, blocked 53’ Tate Johnson (Vancouver Whitecaps), from a corner, 0.07 xG, off target 48’ Édier Ocampo (Vancouver Whitecaps), open play, 0.07 xG, off target 15’ Milan Iloski (San Diego FC), open play, 0.06 xG, saved 33’ Milan Iloski (San Diego FC), from a corner, 0.05 xG, blocked 42’ Emmanuel Sabbi (Vancouver Whitecaps), from a corner, 0.06 xG, blocked 63’ Emmanuel Sabbi (Vancouver Whitecaps), open play, 0.05 xG, off target 35’ Milan Iloski (San Diego FC), open play, 0.05 xG, goal 88’ Mathías Laborda (Vancouver Whitecaps), from a corner, 0.05 xG, off target 5’ Daniel Ríos (Vancouver Whitecaps), direct free kick, 0.05 xG, blocked 61’ Édier Ocampo (Vancouver Whitecaps), open play, 0.04 xG, off target 90+6’ Antoine Coupland (Vancouver Whitecaps), open play, 0.04 xG, goal 43’ Édier Ocampo (Vancouver Whitecaps), from a corner, 0.04 xG, goal 52’ Pedro Vite (Vancouver Whitecaps), direct free kick, 0.04 xG, saved 57’ Daniel Ríos (Vancouver Whitecaps), open play, 0.03 xG, hit the woodwork 53’ Milan Iloski (San Diego FC), set piece, 0.03 xG, blocked 30’ Daniel Ríos (Vancouver Whitecaps), set piece, 0.02 xG, off target 35’ Milan Iloski (San Diego FC), open play, 0.02 xG, saved 6’ Tristan Blackmon (Vancouver Whitecaps), from a corner, 0.02 xG, off target 32’ Alejandro Alvarado Jr (San Diego FC), open play, 0.02 xG, saved 17’ Milan Iloski (San Diego FC), open play, 0.02 xG, off target 90’ Tomás Ángel (San Diego FC), open play, 0.42 xG, goal 47’ Milan Iloski (San Diego FC), open play, 0.41 xG, goal 37’ Milan Iloski (San Diego FC), open play, 0.20 xG, goal 77’ Tristan Blackmon (Vancouver Whitecaps), open play, 0.18 xG, off target 44’ Milan Iloski (San Diego FC), open play, 0.14 xG, goal 57’ Emmanuel Sabbi (Vancouver Whitecaps), open play, 0.12 xG, saved 66’ Mathías Laborda (Vancouver Whitecaps), open play, 0.10 xG, goal 53’ Ranko Veselinović (Vancouver Whitecaps), from a corner, 0.10 xG, off target 31’ Luca Bombino (San Diego FC), open play, 0.07 xG, blocked 53’ Tate Johnson (Vancouver Whitecaps), from a corner, 0.07 xG, off target 48’ Édier Ocampo (Vancouver Whitecaps), open play, 0.07 xG, off target 15’ Milan Iloski (San Diego FC), open play, 0.06 xG, saved 42’ Emmanuel Sabbi (Vancouver Whitecaps), from a corner, 0.06 xG, blocked 33’ Milan Iloski (San Diego FC), from a corner, 0.05 xG, blocked 63’ Emmanuel Sabbi (Vancouver Whitecaps), open play, 0.05 xG, off target 88’ Mathías Laborda (Vancouver Whitecaps), from a corner, 0.05 xG, off target 5’ Daniel Ríos (Vancouver Whitecaps), direct free kick, 0.05 xG, blocked 35’ Milan Iloski (San Diego FC), open play, 0.05 xG, goal 61’ Édier Ocampo (Vancouver Whitecaps), open play, 0.04 xG, off target 90+6’ Antoine Coupland (Vancouver Whitecaps), open play, 0.04 xG, goal 43’ Édier Ocampo (Vancouver Whitecaps), from a corner, 0.04 xG, goal 52’ Pedro Vite (Vancouver Whitecaps), direct free kick, 0.04 xG, saved 57’ Daniel Ríos (Vancouver Whitecaps), open play, 0.03 xG, hit the woodwork 53’ Milan Iloski (San Diego FC), set piece, 0.03 xG, blocked 30’ Daniel Ríos (Vancouver Whitecaps), set piece, 0.02 xG, off target 35’ Milan Iloski (San Diego FC), open play, 0.02 xG, saved 6’ Tristan Blackmon (Vancouver Whitecaps), from a corner, 0.02 xG, off target 32’ Alejandro Alvarado Jr (San Diego FC), open play, 0.02 xG, saved 17’ Milan Iloski (San Diego FC), open play, 0.02 xG, off target
Size shows xG Goal On target Off target or blocked

Hover or tap a shot for the player, minute and xG.

Lineups

Vancouver Whitecaps 4-3-3 Starting XI
Takaoka
Johnson
Blackmon
Veselinović
Ocampo 90’
Cubas 87’
Priso 46’
Badwal
Vite
Ríos
Sabbi 70’
San Diego FC 4-3-3 Starting XI
Santos
McVey
Pilcher
Bombino
Verhoeven
Tverskov
Jr 70’
Valakari
Mighten 79’
Iloski 4 89’
Dreyer

Player stats

Goalkeeper1 player
90′ 3 5 35 – – – – –
Defenders5 players
Édier Ocampo Taken off
89′ – 1 – 2 – 35 2 1 – –
90′ 2 1 – 3 1 90 1 – – –
90′ – 3 – 2 1 46 – – – –
90′ 1 1 – 4 – 31 – – 1 –
Mathías Laborda Came on as a substitute
45′ – 1 – 1 1 29 1 1 – –
Midfielders7 players
Andrés Cubas Taken off
87′ – – 49 – 0.02 2 2 2 4 – –
Ralph Priso Taken off
45′ – – 22 – 0.02 1 – 4 – 2 –
90′ – – 23 – 0.01 1 1 2 2 1 –
90′ – 1 51 8 0.56 – – 4 – 4 –
Emmanuel Sabbi Taken off
70′ – – 13 1 0.28 – – – – – –
Jean-Claude Ngando Came on as a substitute
20′ – – 6 – 0.00 – – 1 1 – –
Antoine Coupland Came on as a substitute
10′ 1 – 1 – 0.00 – – – 2 – –
Forwards1 player
90′ – – 3 – 0.10 0.03 – 2 1 14 –
Came on Taken off Sent off Red is the most in that position for the team

Every player who took the pitch, starters first and then substitutes. A dash means none. xG and xA are expected goals and assists.

Form going into the game

Last five league games before this one, oldest first. Select one to open it.

Previous and next meeting

Shots, expected goals, timeline, lineups, team and player statistics from Bzzoiro Sports Data (sports.bzzoiro.com). Results and odds from football-data.co.uk. Referee data before 2025/26 from the Transfermarkt datasets project.