
Toronto FC vs Portland Timbers, 2025 MLS, Regular Season
· MLSAbout
Toronto FC are hosting Portland Timbers
at BMO Field, New York, New York, Canada, starting on
. The match is a part of the MLS.
Match Timeline
- 0': Lineups are announced and players are warming up.
- 0': First Half begins.
- 1': Corner,Toronto FC. Conceded by Jimer Fory.
- 2': Corner,Toronto FC. Conceded by Juan Mosquera.
- 3': Corner,Toronto FC. Conceded by Dario Zuparic.
- 4': Attempt missed. Kevin Long (Toronto FC) header from the centre of the box misses to the right. Assisted by Alonso Coello with a cross following a corner.
- 6': Foul by Matty Longstaff (Toronto FC).
- 6': Jimer Fory (Portland Timbers) wins a free kick in the defensive half.
- 10': Foul by Omir Fernandez (Portland Timbers).
- 10': Raoul Petretta (Toronto FC) wins a free kick in the attacking half.
- 11': Goal! Toronto FC 1, Portland Timbers 0. Alonso Coello (Toronto FC) from a free kick with a right footed shot to the bottom left corner.
- 15': Foul by Dario Zuparic (Portland Timbers).
- 15': Theo Corbeanu (Toronto FC) wins a free kick on the right wing.
- 16': Attempt missed. Raoul Petretta (Toronto FC) left footed shot from outside the box is high and wide to the left following a set piece situation.
- 16': Attempt saved. Maxime Dominguez (Toronto FC) left footed shot from outside the box is saved in the bottom right corner by James Pantemis (Portland Timbers). Assisted by Ola Brynhildsen.
- 17': Corner,Toronto FC. Conceded by James Pantemis.
- 17': Foul by Maxime Dominguez (Toronto FC).
- 17': Kevin Kelsy (Portland Timbers) wins a free kick in the defensive half.
- 18': Finn Surman (Portland Timbers) wins a free kick in the defensive half.
- 18': Foul by Ola Brynhildsen (Toronto FC).
- 20': David da Costa (Portland Timbers) wins a free kick on the left wing.
- 20': Foul by Matty Longstaff (Toronto FC).
- 23': Foul by David Ayala (Portland Timbers).
- 23': Matty Longstaff (Toronto FC) wins a free kick on the right wing.
- 29': Felipe Mora (Portland Timbers) wins a free kick in the defensive half.
- 29': Foul by Maxime Dominguez (Toronto FC).
- 29': Foul by Jimer Fory (Portland Timbers).
- 29': Theo Corbeanu (Toronto FC) wins a free kick in the defensive half.
- 31': Foul by Theo Corbeanu (Toronto FC).
- 31': Jimer Fory (Portland Timbers) wins a free kick in the defensive half.
- 31': Felipe Mora (Portland Timbers) wins a free kick in the defensive half.
- 31': Foul by Alonso Coello (Toronto FC).
- 35': Foul by Alonso Coello (Toronto FC).
- 35': Kevin Kelsy (Portland Timbers) wins a free kick in the defensive half.
- 36': Foul by Kevin Long (Toronto FC).
- 36': Kevin Kelsy (Portland Timbers) wins a free kick in the defensive half.
- 37': Foul by Kosi Thompson (Toronto FC).
- 37': Jimer Fory (Portland Timbers) wins a free kick in the defensive half.
- 38': Foul by Jimer Fory (Portland Timbers).
- 38': Matty Longstaff (Toronto FC) wins a free kick in the defensive half.
- 40': Foul by Maxime Dominguez (Toronto FC).
- 40': Omir Fernandez (Portland Timbers) wins a free kick in the defensive half.
- 42': Foul by David Ayala (Portland Timbers).
- 42': Theo Corbeanu (Toronto FC) wins a free kick in the defensive half.
- 43': Foul by Dario Zuparic (Portland Timbers).
- 43': Ola Brynhildsen (Toronto FC) wins a free kick in the attacking half.
- 43': Dario Zuparic (Portland Timbers) is shown the yellow card for a bad foul.
- 44': Attempt missed. Alonso Coello (Toronto FC) right footed shot from outside the box is just a bit too high from a direct free kick.
- 45': Fourth official has announced 1 minutes of added time.
- 45'+1': First Half ends, Toronto FC 1, Portland Timbers 0.
- 45': Second Half begins Toronto FC 1, Portland Timbers 0.
- 46': Attempt blocked. Kevin Kelsy (Portland Timbers) left footed shot from outside the box is blocked. Assisted by Juan Mosquera.
- 46': Corner,Portland Timbers. Conceded by Alonso Coello.
- 48': Foul by Felipe Mora (Portland Timbers).
- 48': Sigurd Rosted (Toronto FC) wins a free kick in the defensive half.
- 49': Foul by Finn Surman (Portland Timbers).
- 49': Ola Brynhildsen (Toronto FC) wins a free kick in the defensive half.
- 50': Offside, Portland Timbers. Felipe Mora is caught offside.
- 52': Attempt missed. Ola Brynhildsen (Toronto FC) right footed shot from outside the box misses to the right. Assisted by Theo Corbeanu.
- 52': Attempt saved. Tyrese Spicer (Toronto FC) left footed shot from the left side of the box is saved in the top left corner by James Pantemis (Portland Timbers). Assisted by Alonso Coello.
- 52': Corner,Toronto FC. Conceded by James Pantemis.
- 53': Delay in match because of an injury Omir Fernandez (Portland Timbers).
- 54': Delay over. They are ready to continue.
- 54': Substitution, Portland Timbers. Santiago Moreno replaces Omir Fernandez because of an injury.
- 55': Corner,Toronto FC. Conceded by Dario Zuparic.
- 56': Attempt saved. Kosi Thompson (Toronto FC) header from the centre of the box is saved in the top centre of the goal by James Pantemis (Portland Timbers). Assisted by Alonso Coello with a cross.
- 56': Attempt saved. Ola Brynhildsen (Toronto FC) header from very close range is saved in the top centre of the goal by James Pantemis (Portland Timbers). Assisted by Kosi Thompson.
- 56': Goal! Toronto FC 2, Portland Timbers 0. Tyrese Spicer (Toronto FC) left footed shot from very close range to the centre of the goal following a corner.
- 58': Foul by Santiago Moreno (Portland Timbers).
- 58': Raoul Petretta (Toronto FC) wins a free kick in the defensive half.
- 60': Foul by Raoul Petretta (Toronto FC).
- 60': Kevin Kelsy (Portland Timbers) wins a free kick on the right wing.
- 61': Attempt missed. Dario Zuparic (Portland Timbers) header from the centre of the box misses to the left. Assisted by Santiago Moreno with a cross following a set piece situation.
- 61': Attempt missed. Finn Surman (Portland Timbers) header from the centre of the box is high and wide to the left. Assisted by Dario Zuparic following a set piece situation.
- 62': Foul by Maxime Dominguez (Toronto FC).
- 62': Juan Mosquera (Portland Timbers) wins a free kick in the attacking half.
- 63': Attempt blocked. Santiago Moreno (Portland Timbers) right footed shot from outside the box is blocked.
- 63': Corner,Portland Timbers. Conceded by Sigurd Rosted.
- 65': Diego Chará (Portland Timbers) wins a free kick in the attacking half.
- 65': Foul by Maxime Dominguez (Toronto FC).
- 68': Foul by Jimer Fory (Portland Timbers).
- 68': Ola Brynhildsen (Toronto FC) wins a free kick on the right wing.
- 68': Jimer Fory (Portland Timbers) is shown the yellow card for a bad foul.
- 69': Foul by Kevin Long (Toronto FC).
- 69': James Pantemis (Portland Timbers) wins a free kick in the defensive half.
- 69': Substitution, Toronto FC. Derrick Etienne replaces Tyrese Spicer.
- 70': Offside, Portland Timbers. Felipe Mora is caught offside.
- 71': Delay in match because of an injury Dario Zuparic (Portland Timbers).
- 71': Delay in match because of an injury Ola Brynhildsen (Toronto FC).
- 73': Substitution, Portland Timbers. Cristhian Paredes replaces Diego Chará.
- 73': Substitution, Portland Timbers. Gage Guerra replaces Felipe Mora.
- 74': Substitution, Portland Timbers. Ian Smith replaces Jimer Fory.
- 74': Delay over. They are ready to continue.
- 77': Foul by Gage Guerra (Portland Timbers).
- 77': Raoul Petretta (Toronto FC) wins a free kick in the defensive half.
- 77': Foul by David Ayala (Portland Timbers).
- 77': Maxime Dominguez (Toronto FC) wins a free kick in the attacking half.
- 77': David Ayala (Portland Timbers) is shown the yellow card for a bad foul.
- 79': Attempt missed. Theo Corbeanu (Toronto FC) right footed shot from the right side of the box is close, but misses to the right. Assisted by Alonso Coello following a fast break.
- 83': Corner,Toronto FC. Conceded by Juan Mosquera.
- 85': Substitution, Toronto FC. Deandre Kerr replaces Ola Brynhildsen.
- 86': Substitution, Toronto FC. Michael Sullivan replaces Matty Longstaff.
- 88': Attempt saved. Theo Corbeanu (Toronto FC) left footed shot from outside the box is saved in the bottom left corner by James Pantemis (Portland Timbers). Assisted by Derrick Etienne.
- 88': Corner,Toronto FC. Conceded by James Pantemis.
- 89': Attempt blocked. Derrick Etienne (Toronto FC) left footed shot from a difficult angle on the left is blocked. Assisted by Raoul Petretta.
- 89': Corner,Toronto FC. Conceded by Finn Surman.
- 90': Foul by Kevin Kelsy (Portland Timbers).
- 90': Maxime Dominguez (Toronto FC) wins a free kick on the left wing.
- 90': Kevin Kelsy (Portland Timbers) is shown the yellow card for a bad foul.
- 90': Fourth official has announced 9 minutes of added time.
- 90'+2': Corner,Portland Timbers. Conceded by Kevin Long.
- 90'+4': Own Goal by Ian Smith, Portland Timbers. Toronto FC 3, Portland Timbers 0.
- 90'+5': Substitution, Toronto FC. Charlie Sharp replaces Maxime Dominguez.
- 90'+5': David da Costa (Portland Timbers) wins a free kick in the defensive half.
- 90'+5': Foul by Kosi Thompson (Toronto FC).
- 90'+5': Kosi Thompson (Toronto FC) is shown the yellow card for a bad foul.
- 90'+6': Offside, Portland Timbers. Cristhian Paredes is caught offside.
- 90'+8': Attempt blocked. Gage Guerra (Portland Timbers) left footed shot from the centre of the box is blocked. Assisted by David da Costa.
- 90'+9': Foul by Ian Smith (Portland Timbers).
- 90'+9': Theo Corbeanu (Toronto FC) wins a free kick in the defensive half.
- 90'+10': Second Half ends, Toronto FC 3, Portland Timbers 0.
- 0': Match ends, Toronto FC 3, Portland Timbers 0.
Statistics
![]() |
TOR![]() |
|
---|---|---|
15 | Fouls | 16 |
4 | Yellow Cards | 1 |
0 | Red Cards | 0 |
3 | Offsides | 0 |
3 | Corner Kicks | 9 |
5 | Saves | 0 |
57.6 | Possession | 42.4 |
5 | SHOTS | 13 |
0 | ON GOAL | 7 |
0.0 | On Target % | 0.5 |
0 | Penalty Goals | 0 |
0 | Penalty Kicks Taken | 0 |
363 | Accurate Passes | 244 |
436 | Passes | 309 |
0.8 | Pass Completion % | 0.8 |
2 | Accurate Crosses | 4 |
17 | Crosses | 22 |
0.1 | Cross % | 0.2 |
49 | Long Balls | 49 |
26 | Accurate Long Balls | 17 |
0.5 | Long Balls % | 0.3 |
3 | Blocked Shots | 1 |
9 | Effective Tackles | 13 |
18 | Tackles | 24 |
0.5 | Tackle % | 0.5 |
6 | Interceptions | 13 |
27 | Effective Clearances | 25 |
27 | Clearances | 25 |
Game Information
Competition: MLS
Venue: BMO Field
Location: New York, New York, Canada
Attendance: 22,445
Venue: BMO Field
Location: New York, New York, Canada
Attendance: 22,445
MLS Table
# | TEAM | GP | GD | PTS |
---|---|---|---|---|
1 | San Diego FC | 21 | +15 | 39 |
2 | Vancouver Whitecaps | 20 | +13 | 38 |
3 | Minnesota United FC | 21 | +11 | 37 |
4 | Portland Timbers | 20 | +2 | 33 |
Line-Ups
Toronto FC (4-1-4-1)
No. | Name |
---|---|
1 | Sean Johnson (GK) |
17 | Sigurd Rosted |
5 | Kevin Long |
14 | Alonso Coello |
28 | Raoul Petretta |
6 | Kosi Thompson ![]() |
23 | Maxime Dominguez |
8 | Matthew Longstaff |
16 | Tyrese Spicer |
7 | Theo Corbeanu |
9 | Ola Brynhildsen |
Portland Timbers (4-4-2)
No. | Name |
---|---|
41 | James Pantemis (GK) |
13 | Dario Zuparic ![]() |
20 | Finn Surman |
27 | Jimer Fory ![]() |
29 | Juan Mosquera |
24 | David Ayala ![]() |
21 | Diego Chará |
10 | David Da Costa |
22 | Omir Fernández |
19 | Kevin Kelsy ![]() |
9 | Felipe Mora |
MLS News

Colorado's Reggie Cannon wins Boavista CAS appeal - sources
Colorado Rapids defender Reggie Cannon has won his appeal against former club Boavista in the Court of Arbitration for Sport, sources told ESPN.

Portland Timbers forward Rodriguez done for season after knee surgery
Portland Timbers forward Jonathan Rodriguez will miss the rest of the season after right knee surgery, the team announced Tuesday.

Lionel Messi, Inter Miami seek victory over Revolution
Inter Miami will look to continue to climb the Eastern Conference standings on Wednesday night when they take on the host New England Revolution at Foxborough, Mass.

Italy great Giorgio Chiellini joins LAFC ownership group
Italy and Juventus great Giorgio Chiellini has joined LAFC's ownership group, the MLS club announced Tuesday.

Transfer rumors, news: Messi heavily pursued by Saudi club
One Saudi club will do "whatever it takes" to sign Lionel Messi. Transfer Talk has the latest news, gossip and rumors.