Toronto FC vs Philadelphia Union

28 May 2025 · MLS · 2025 · Referee Guido Gonzales Jr

Full time 1 – 2

Half-time: 0–0

  • Ola Brynhildsen 75’
  • Nathan Harriel 86’
  • Kai Wagner 90+2’

Match summary

Philadelphia Union came from behind to win 2-1 away at Toronto FC, with the winner arriving in stoppage time. It was goalless at half-time.

Ola Brynhildsen put Toronto FC ahead in the 75th minute, Nathan Harriel equalised with a header in the 86th minute, and Kai Wagner won it in stoppage time.

There was little between the sides on chances: Toronto FC created 1.09 expected goals (xG) from 9 shots, Philadelphia Union 1.36 from 14.

Match stats

42% Possession 58%
9 Shots 14
4 Shots on target 6
3 Corners 9
276 Passes 371
66.7% Pass accuracy 69.0%
21 Tackles 16
13 Fouls 17
0 Yellow cards 2
2 Offsides 3

Key events

Toronto FC Philadelphia Union
Kick-off
12’
Bruno DamianiShot on target
31’
Indiana VassilevShot on target
Jonathan OsorioShot on target
42’
Half-time0-0
49’
Jesus BuenoShot on target
Second half underway
69’
Danley Jean JacquesShot on target
Ola BrynhildsenShot on target
71’
Ola BrynhildsenRight foot shot1-0 (Toronto FC)
75’
Kevin LongZane Monlouis
78’
Kevin LongShot on target
85’
86’
Nathan HarrielHeader1-1 (Philadelphia Union)
Charlie SharpOla Brynhildsen
86’
89’
90+2’
Kai WagnerLeft foot shot1-2 (Philadelphia Union)
90+7’
Full-time1-2

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.09 1.36 75’ Ola Brynhildsen (Toronto FC), 1-0 75’ 86’ Nathan Harriel (Philadelphia Union), 1-1 86’ 90+2’ Kai Wagner (Philadelphia Union), 1-2 90+2’ 0.0 0.5 1.0 1.5 2.0 0’ 15’ 30’ 45’ 60’ 75’ 90’ HT 1.09 1.36 75’ Ola Brynhildsen (Toronto FC), 1-0 Brynhildsen 75’ 86’ Nathan Harriel (Philadelphia Union), 1-1 Harriel 86’ 90+2’ Kai Wagner (Philadelphia Union), 1-2 Wagner 90+2’
Toronto FC 1.09 xGPhiladelphia Union 1.36 xG Goal

Tap a goal for the scorer and score.

Shot map

Every shot and where it was taken from.

 Philadelphia Union attacking Toronto FC attacking 
42’ Jonathan Osorio (Toronto FC), open play, 0.52 xG, saved 86’ Nathan Harriel (Philadelphia Union), from a corner, 0.32 xG, goal 75’ Ola Brynhildsen (Toronto FC), open play, 0.16 xG, goal 12’ Bruno Damiani (Philadelphia Union), open play, 0.15 xG, saved 42’ Ola Brynhildsen (Toronto FC), open play, 0.15 xG, off target 49’ Jesus Bueno (Philadelphia Union), open play, 0.15 xG, saved 31’ Indiana Vassilev (Philadelphia Union), open play, 0.13 xG, saved 20’ Quinn Sullivan (Philadelphia Union), open play, 0.11 xG, blocked 55’ Tai Baribo (Philadelphia Union), from a corner, 0.10 xG, off target 90’ Tai Baribo (Philadelphia Union), from a corner, 0.10 xG, off target 90+1’ Jovan Lukić (Philadelphia Union), open play, 0.10 xG, off target 41’ Jonathan Osorio (Toronto FC), open play, 0.06 xG, off target 77’ Theo Corbeanu (Toronto FC), open play, 0.06 xG, off target 85’ Kevin Long (Toronto FC), from a corner, 0.06 xG, saved 21’ Nathan Harriel (Philadelphia Union), from a corner, 0.04 xG, off target 39’ Deybi Flores (Toronto FC), open play, 0.04 xG, blocked 35’ Jakob Glesnes (Philadelphia Union), direct free kick, 0.04 xG, off target 71’ Ola Brynhildsen (Toronto FC), open play, 0.03 xG, saved 20’ Jesus Bueno (Philadelphia Union), open play, 0.03 xG, blocked 21’ Quinn Sullivan (Philadelphia Union), open play, 0.03 xG, off target 90+2’ Kai Wagner (Philadelphia Union), set piece, 0.02 xG, goal 69’ Danley Jean Jacques (Philadelphia Union), open play, 0.02 xG, saved 90+7’ Derrick Etienne (Toronto FC), set piece, 0.01 xG, off target 42’ Jonathan Osorio (Toronto FC), open play, 0.52 xG, saved 86’ Nathan Harriel (Philadelphia Union), from a corner, 0.32 xG, goal 75’ Ola Brynhildsen (Toronto FC), open play, 0.16 xG, goal 42’ Ola Brynhildsen (Toronto FC), open play, 0.15 xG, off target 12’ Bruno Damiani (Philadelphia Union), open play, 0.15 xG, saved 49’ Jesus Bueno (Philadelphia Union), open play, 0.15 xG, saved 31’ Indiana Vassilev (Philadelphia Union), open play, 0.13 xG, saved 20’ Quinn Sullivan (Philadelphia Union), open play, 0.11 xG, blocked 55’ Tai Baribo (Philadelphia Union), from a corner, 0.10 xG, off target 90’ Tai Baribo (Philadelphia Union), from a corner, 0.10 xG, off target 90+1’ Jovan Lukić (Philadelphia Union), open play, 0.10 xG, off target 41’ Jonathan Osorio (Toronto FC), open play, 0.06 xG, off target 77’ Theo Corbeanu (Toronto FC), open play, 0.06 xG, off target 85’ Kevin Long (Toronto FC), from a corner, 0.06 xG, saved 21’ Nathan Harriel (Philadelphia Union), from a corner, 0.04 xG, off target 39’ Deybi Flores (Toronto FC), open play, 0.04 xG, blocked 35’ Jakob Glesnes (Philadelphia Union), direct free kick, 0.04 xG, off target 20’ Jesus Bueno (Philadelphia Union), open play, 0.03 xG, blocked 71’ Ola Brynhildsen (Toronto FC), open play, 0.03 xG, saved 21’ Quinn Sullivan (Philadelphia Union), open play, 0.03 xG, off target 90+2’ Kai Wagner (Philadelphia Union), set piece, 0.02 xG, goal 69’ Danley Jean Jacques (Philadelphia Union), open play, 0.02 xG, saved 90+7’ Derrick Etienne (Toronto FC), set piece, 0.01 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

Toronto FC 3-5-2 Starting XI
Johnson
Monlouis 78’
Petretta
Wingo 46’
Spicer
Etienne
Flores
Coello 86’
Osorio
Brynhildsen 86’
Corbeanu
Philadelphia Union 4-4-2 Starting XI
Blake
Wagner
Glesnes
Westfield
Harriel
Vassilev 76’
Sullivan 83’
Bueno 67’
Lukić
Baribo
Damiani 67’

Player stats

Goalkeeper1 player
90′ 4 2 24 – – – – –
Defenders5 players
Henry Wingo Taken off
45′ 1 – – 1 – 19 1 – – –
Zane Monlouis Taken off
78′ – 1 – 8 7 30 1 – – –
90′ 3 1 – 7 4 35 1 – – –
Sigurd Rosted Came on as a substitute
45′ – – – 3 3 9 – – – –
Kevin Long Came on as a substitute
12′ – – – 1 1 4 1 – – –
Midfielders7 players
90′ – – 27 3 0.52 – – 2 – 1 –
Alonso Coello Taken off
86′ – – 30 2 0.03 7 3 9 2 1 –
Deybi Flores
90′ – 1 31 1 0.10 4 3 11 1 5 –
90′ – – 27 – 0.03 3 2 5 – 2 –
90′ – – 14 – 0.02 3 1 8 – 2 –
90′ – – 13 – 0.03 – – 7 4 1 –
Matthew Longstaff Came on as a substitute
12′ – – 3 – 0.00 – – – – – –
Forwards2 players
Ola Brynhildsen Taken off
86′ 1 – 3 2 0.34 0.00 – 5 3 8 –
Charlie Sharp Came on as a substitute
12′ – – – – – 0.03 – 1 – 2 –
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.