Real Salt Lake vs Portland Timbers
Regular Season
Saturday, May 2, 2026 · 4:45 pm EDT
Match winner: Real Salt Lake
America First Field
Match statistics
Values retain the source’s display and precision. Some source rows labeled % are supplied as decimal ratios; no percentage conversion is inferred.
| Statistic | Real Salt Lake | Portland Timbers |
|---|---|---|
| Fouls | 15 | 12 |
| Yellow Cards | 1 | 2 |
| Red Cards | 0 | 0 |
| Offsides | 0 | 1 |
| Corner Kicks | 6 | 2 |
| Saves | 2 | 13 |
| Possession | 52.8 | 47.2 |
| SHOTS | 25 | 11 |
| ON GOAL | 15 | 2 |
| On Target % | 0.6 | 0.2 |
| Penalty Goals | 0 | 0 |
| Penalty Kicks Taken | 0 | 0 |
| Accurate Passes | 445 | 389 |
| Passes | 515 | 458 |
| Pass Completion % | 0.9 | 0.8 |
| Accurate Crosses | 7 | 1 |
| Crosses | 17 | 16 |
| Cross % | 0.4 | 0.1 |
| Long Balls | 57 | 29 |
| Accurate Long Balls | 27 | 11 |
| Long Balls % | 0.5 | 0.4 |
| Blocked Shots | 2 | 5 |
| Effective Tackles | 6 | 9 |
| Tackles | 9 | 17 |
| Tackle % | 0.7 | 0.5 |
| Interceptions | 10 | 8 |
| Effective Clearances | 19 | 28 |
| Clearances | 19 | 28 |
Key events
- —Kickoff
First Half begins.
- 10'Goal
Goal! Real Salt Lake 1, Portland Timbers 0. Zavier Gozo (Real Salt Lake) right footed shot from the right side of the box to the bottom right corner. Assisted by Sergi Solans.
- 28'Goal
Goal! Real Salt Lake 2, Portland Timbers 0. Diego Luna (Real Salt Lake) left footed shot from the centre of the box to the bottom right corner. Assisted by Juan Manuel Sanabria following a fast break.
- 45'+9'Halftime
First Half ends, Real Salt Lake 2, Portland Timbers 0.
- 45'Substitution
Substitution, Portland Timbers. Kamal Miller replaces Finn Surman because of an injury.
- 45'Start 2nd Half
- 59'Substitution
Substitution, Portland Timbers. Ian Smith replaces Alex Bonetig.
- 59'Substitution
Substitution, Portland Timbers. Alexander Aravena replaces Cole Bassett.
- 60'Yellow Card
Jimer Fory (Portland Timbers) is shown the yellow card for a bad foul.
- 61'Substitution
Substitution, Real Salt Lake. Philip Quinton replaces Justen Glad.
- 76'Substitution
Substitution, Real Salt Lake. Victor Olatunji replaces Sergi Solans.
- 77'Substitution
Substitution, Real Salt Lake. Zach Booth replaces Zavier Gozo.
- 82'Yellow Card
Ian Smith (Portland Timbers) is shown the yellow card for a bad foul.
- 85'Yellow Card
Juan Manuel Sanabria (Real Salt Lake) is shown the yellow card.
- 89'Substitution
Substitution, Real Salt Lake. Aiden Hezarkhani replaces Diego Luna.
- 89'Substitution
Substitution, Real Salt Lake. Pablo Ruiz replaces Stijn Spierings.
- 90'+1'Substitution
Substitution, Portland Timbers. Gage Guerra replaces Kevin Kelsy.
- 90'+7'End Regular Time
Second Half ends, Real Salt Lake 2, Portland Timbers 0.
Lineups
Players stay with their supplied roster club. Other listed players may be unused; App records source appearances, not the number of names listed. An own goal is credited in the event as supplied.
Real Salt LakeFormation 3-4-2-1
Starting lineup
| Player | Pos | App | G | A | OG | YC | RC |
|---|---|---|---|---|---|---|---|
| 1Rafael | G | 1 | 0 | 0 | 0 | 0 | 0 |
| 15Justen Glad | CD | 1 | 0 | 0 | 0 | 0 | 0 |
| 29Samuel Junqua | CD-L | 1 | 0 | 0 | 0 | 0 | 0 |
| 2DeAndre Yedlin | CD-R | 1 | 0 | 0 | 0 | 0 | 0 |
| 92Noel Caliskan | CM-L | 1 | 0 | 0 | 0 | 0 | 0 |
| 6Stijn Spierings | CM-R | 1 | 0 | 0 | 0 | 0 | 0 |
| 8Juan Manuel Sanabria | LM | 1 | 0 | 1 | 0 | 1 | 0 |
| 72Zavier Gozo | RM | 1 | 1 | 0 | 0 | 0 | 0 |
| 22Sergi Solans | F | 1 | 0 | 1 | 0 | 0 | 0 |
| 9Morgan Guilavogui | CF-L | 1 | 0 | 0 | 0 | 0 | 0 |
| 10Diego Luna | CF-R | 1 | 1 | 0 | 0 | 0 | 0 |
Other listed players
| Player | Pos | App | G | A | OG | YC | RC |
|---|---|---|---|---|---|---|---|
| 11Dominik Marczuk | SUB | 0 | 0 | 0 | 0 | 0 | 0 |
| 31Mason Stajduhar | SUB | 0 | 0 | 0 | 0 | 0 | 0 |
| 39Aiden Hezarkhani | SUB | 1 | 0 | 0 | 0 | 0 | 0 |
| 27Griffin Dillon | SUB | 0 | 0 | 0 | 0 | 0 | 0 |
| 26Philip Quinton | SUB | 1 | 0 | 0 | 0 | 0 | 0 |
| 17Victor Olatunji | SUB | 1 | 0 | 0 | 0 | 0 | 0 |
| 98Alexandros Katranis | SUB | 0 | 0 | 0 | 0 | 0 | 0 |
| 7Pablo Ruiz | SUB | 1 | 0 | 0 | 0 | 0 | 0 |
| 23Zach Booth | SUB | 1 | 0 | 0 | 0 | 0 | 0 |
Portland TimbersFormation 4-2-3-1
Starting lineup
| Player | Pos | App | G | A | OG | YC | RC |
|---|---|---|---|---|---|---|---|
| 41James Pantemis | G | 1 | 0 | 0 | 0 | 0 | 0 |
| 6Alex Bonetig | CD-L | 1 | 0 | 0 | 0 | 0 | 0 |
| 20Finn Surman | CD-R | 1 | 0 | 0 | 0 | 0 | 0 |
| 27Jimer Fory | LB | 1 | 0 | 0 | 0 | 1 | 0 |
| 5Brandon Bye | RB | 1 | 0 | 0 | 0 | 0 | 0 |
| 10David Da Costa | AM | 1 | 0 | 0 | 0 | 0 | 0 |
| 30José Caicedo | LM | 1 | 0 | 0 | 0 | 0 | 0 |
| 17Cole Bassett | RM | 1 | 0 | 0 | 0 | 0 | 0 |
| 19Kevin Kelsy | F | 1 | 0 | 0 | 0 | 0 | 0 |
| 11Antony | AM-L | 1 | 0 | 0 | 0 | 0 | 0 |
| 99Kristoffer Velde | AM-R | 1 | 0 | 0 | 0 | 0 | 0 |
Other listed players
| Player | Pos | App | G | A | OG | YC | RC |
|---|---|---|---|---|---|---|---|
| 88Gage Guerra | SUB | 1 | 0 | 0 | 0 | 0 | 0 |
| 16Sawyer Jura | SUB | 0 | 0 | 0 | 0 | 0 | 0 |
| 9Felipe Mora | SUB | 0 | 0 | 0 | 0 | 0 | 0 |
| 25Trey Muse | SUB | 0 | 0 | 0 | 0 | 0 | 0 |
| 7Ariel Lassiter | SUB | 0 | 0 | 0 | 0 | 0 | 0 |
| 21Diego Chará | SUB | 0 | 0 | 0 | 0 | 0 | 0 |
| 28Alexander Aravena | SUB | 1 | 0 | 0 | 0 | 0 | 0 |
| 4Kamal Miller | SUB | 1 | 0 | 0 | 0 | 0 | 0 |
| 23Ian Smith | SUB | 1 | 0 | 0 | 0 | 1 | 0 |
Commentary
- —
Lineups are announced and players are warming up.
- —
First Half begins.
- 1'
Sergi Solans (Real Salt Lake) wins a free kick in the defensive half.
- 1'
Foul by Finn Surman (Portland Timbers).
- 2'
Finn Surman (Portland Timbers) wins a free kick in the defensive half.
- 2'
Foul by Diego Luna (Real Salt Lake).
- 3'
Corner, Portland Timbers. Conceded by Stijn Spierings.
- 5'
Attempt saved. Diego Luna (Real Salt Lake) right footed shot from outside the box is saved in the bottom left corner by James Pantemis (Portland Timbers). Assisted by Morgan Guilavogui.
- 7'
Foul by Samuel Junqua (Real Salt Lake).
- 7'
Kristoffer Velde (Portland Timbers) wins a free kick in the defensive half.
- 8'
Stijn Spierings (Real Salt Lake) wins a free kick in the attacking half.
- 8'
Foul by David da Costa (Portland Timbers).
- 9'
Attempt saved. Zavier Gozo (Real Salt Lake) right footed shot from outside the box is saved in the centre of the goal by James Pantemis (Portland Timbers). Assisted by Diego Luna with a headed pass.
- 10'
Goal! Real Salt Lake 1, Portland Timbers 0. Zavier Gozo (Real Salt Lake) right footed shot from the right side of the box to the bottom right corner. Assisted by Sergi Solans.
- 12'
Attempt blocked. Cole Bassett (Portland Timbers) left footed shot from a difficult angle on the left is blocked. Assisted by Antony.
- 12'
Attempt saved. Morgan Guilavogui (Real Salt Lake) right footed shot from the centre of the box is saved in the bottom left corner by James Pantemis (Portland Timbers). Assisted by Diego Luna with a through ball.
- 12'
Corner, Real Salt Lake. Conceded by James Pantemis.
- 14'
Morgan Guilavogui (Real Salt Lake) hits the bar with a right footed shot from outside the box. Assisted by Juan Manuel Sanabria.
- 15'
Corner, Real Salt Lake. Conceded by Jimer Fory.
- 17'
Handball by Cole Bassett (Portland Timbers).
- 18'
Foul by Samuel Junqua (Real Salt Lake).
- 18'
Kristoffer Velde (Portland Timbers) wins a free kick in the defensive half.
- 19'
Attempt missed. Morgan Guilavogui (Real Salt Lake) right footed shot from outside the box is close, but misses to the right. Assisted by Diego Luna.
- 20'
Foul by DeAndre Yedlin (Real Salt Lake).
- 20'
Antony (Portland Timbers) wins a free kick in the defensive half.
- 21'
Attempt blocked. Stijn Spierings (Real Salt Lake) right footed shot from outside the box is blocked. Assisted by Diego Luna.
- 26'
Attempt blocked. Kristoffer Velde (Portland Timbers) right footed shot from outside the box is blocked. Assisted by Cole Bassett.
- 26'
Attempt saved. Kevin Kelsy (Portland Timbers) header from the centre of the box is saved in the top centre of the goal by Rafael Cabral (Real Salt Lake). Assisted by Cole Bassett with a cross.
- 27'
Attempt saved. Antony (Portland Timbers) right footed shot from the left side of the box is saved in the bottom left corner by Rafael Cabral (Real Salt Lake).
- 28'
Goal! Real Salt Lake 2, Portland Timbers 0. Diego Luna (Real Salt Lake) left footed shot from the centre of the box to the bottom right corner. Assisted by Juan Manuel Sanabria following a fast break.
- 30'
Foul by Alex Bonetig (Portland Timbers).
- 30'
Sergi Solans (Real Salt Lake) wins a free kick in the defensive half.
- 31'
Attempt saved. Sergi Solans (Real Salt Lake) right footed shot from the centre of the box is saved in the bottom left corner by James Pantemis (Portland Timbers). Assisted by Samuel Junqua.
- 31'
Kristoffer Velde (Portland Timbers) wins a free kick in the defensive half.
- 31'
Foul by Morgan Guilavogui (Real Salt Lake).
- 33'
Attempt blocked. David da Costa (Portland Timbers) right footed shot from outside the box is blocked. Assisted by Kevin Kelsy.
- 35'
Attempt saved. Sergi Solans (Real Salt Lake) right footed shot from the right side of the six yard box is saved in the centre of the goal by James Pantemis (Portland Timbers).
- 35'
Attempt saved. Morgan Guilavogui (Real Salt Lake) right footed shot from the centre of the box is saved in the bottom left corner by James Pantemis (Portland Timbers). Assisted by Juan Manuel Sanabria.
- 36'
Delay in match because of an injury Zavier Gozo (Real Salt Lake).
- 36'
Delay over. They are ready to continue.
- 40'
Kristoffer Velde (Portland Timbers) wins a free kick in the attacking half.
- 40'
Foul by Samuel Junqua (Real Salt Lake).
- 41'
Juan Manuel Sanabria (Real Salt Lake) wins a free kick in the defensive half.
- 41'
Foul by Kevin Kelsy (Portland Timbers).
- 42'
Cole Bassett (Portland Timbers) wins a free kick in the defensive half.
- 42'
Foul by Juan Manuel Sanabria (Real Salt Lake).
- 44'
Attempt blocked. Antony (Portland Timbers) right footed shot from the centre of the box is blocked. Assisted by Kevin Kelsy.
- 44'
Corner, Portland Timbers. Conceded by Samuel Junqua.
- 44'
Attempt missed. Zavier Gozo (Real Salt Lake) header from the centre of the box is too high. Assisted by Diego Luna following a fast break.
- 45'
Attempt missed. Sergi Solans (Real Salt Lake) header from the centre of the box misses to the left.
- 45'
Attempt missed. Morgan Guilavogui (Real Salt Lake) right footed shot from the left side of the six yard box is close, but misses to the left. Assisted by Sergi Solans.
- 45'
Fourth official has announced 4 minutes of added time.
- 45'+1'
Delay in match because of an injury Finn Surman (Portland Timbers).
- 45'+1'
Delay in match because of an injury Sergi Solans (Real Salt Lake).
- 45'+4'
Delay over. They are ready to continue.
- 45'+6'
Attempt saved. Diego Luna (Real Salt Lake) left footed shot from the centre of the box is saved in the bottom right corner by James Pantemis (Portland Timbers).
- 45'+8'
Attempt saved. Zavier Gozo (Real Salt Lake) right footed shot from the right side of the box is saved in the bottom right corner by James Pantemis (Portland Timbers). Assisted by Morgan Guilavogui.
- 45'+8'
Corner, Real Salt Lake. Conceded by James Pantemis.
- 45'+9'
Attempt missed. Noel Caliskan (Real Salt Lake) right footed shot from outside the box misses to the left following a corner.
- 45'+9'
Attempt saved. Zavier Gozo (Real Salt Lake) header from the centre of the box is saved in the centre of the goal by James Pantemis (Portland Timbers). Assisted by Noel Caliskan with a cross.
- 45'+9'
First Half ends, Real Salt Lake 2, Portland Timbers 0.
- 45'
Second Half begins Real Salt Lake 2, Portland Timbers 0.
- 45'
Substitution, Portland Timbers. Kamal Miller replaces Finn Surman because of an injury.
- 48'
Kristoffer Velde (Portland Timbers) wins a free kick in the defensive half.
- 48'
Foul by Noel Caliskan (Real Salt Lake).
- 49'
Foul by Sergi Solans (Real Salt Lake).
- 49'
José Caicedo (Portland Timbers) wins a free kick in the defensive half.
- 50'
Attempt saved. Zavier Gozo (Real Salt Lake) right footed shot from the left side of the box is saved in the bottom right corner by James Pantemis (Portland Timbers). Assisted by Diego Luna.
- 50'
Attempt saved. Noel Caliskan (Real Salt Lake) right footed shot from outside the box is saved in the top centre of the goal by James Pantemis (Portland Timbers). Assisted by Diego Luna.
- 50'
Attempt missed. Juan Manuel Sanabria (Real Salt Lake) header from the centre of the box is high and wide to the right.
- 52'
Corner, Real Salt Lake. Conceded by Alex Bonetig.
- 52'
Attempt saved. Juan Manuel Sanabria (Real Salt Lake) left footed shot from outside the box is saved in the top centre of the goal by James Pantemis (Portland Timbers). Assisted by Diego Luna.
- 52'
Corner, Real Salt Lake. Conceded by James Pantemis.
- 53'
Delay in match because of an injury Juan Manuel Sanabria (Real Salt Lake).
- 53'
Delay in match because of an injury Kevin Kelsy (Portland Timbers).
- 55'
Delay over. They are ready to continue.
- 59'
Offside, Portland Timbers. Kevin Kelsy is caught offside.
- 59'
Substitution, Portland Timbers. Ian Smith replaces Alex Bonetig.
- 59'
Substitution, Portland Timbers. Alexander Aravena replaces Cole Bassett.
- 60'
Foul by Jimer Fory (Portland Timbers).
- 60'
DeAndre Yedlin (Real Salt Lake) wins a free kick on the right wing.
- 60'
Jimer Fory (Portland Timbers) is shown the yellow card for a bad foul.
- 61'
Substitution, Real Salt Lake. Philip Quinton replaces Justen Glad.
- 62'
Attempt missed. David da Costa (Portland Timbers) right footed shot from the left side of the box is close, but misses to the right. Assisted by Kevin Kelsy.
- 67'
Foul by Stijn Spierings (Real Salt Lake).
- 67'
David da Costa (Portland Timbers) wins a free kick in the attacking half.
- 68'
Noel Caliskan (Real Salt Lake) wins a free kick in the defensive half.
- 68'
Foul by Kevin Kelsy (Portland Timbers).
- 68'
Foul by Brandon Bye (Portland Timbers).
- 68'
Sergi Solans (Real Salt Lake) wins a free kick on the left wing.
- 69'
Foul by DeAndre Yedlin (Real Salt Lake).
- 69'
Alexander Aravena (Portland Timbers) wins a free kick in the defensive half.
- 70'
Foul by Philip Quinton (Real Salt Lake).
- 70'
Kevin Kelsy (Portland Timbers) wins a free kick on the right wing.
- 73'
Attempt missed. Kristoffer Velde (Portland Timbers) left footed shot from the centre of the box is high and wide to the left. Assisted by Alexander Aravena with a headed pass.
- 74'
Attempt missed. Zavier Gozo (Real Salt Lake) right footed shot from outside the box is too high. Assisted by Diego Luna.
- 75'
Attempt saved. Stijn Spierings (Real Salt Lake) right footed shot from outside the box is saved in the top left corner by James Pantemis (Portland Timbers). Assisted by Diego Luna.
- 75'
Corner, Real Salt Lake. Conceded by James Pantemis.
- 76'
Attempt missed. Kevin Kelsy (Portland Timbers) left footed shot from the left side of the box is close, but misses to the left. Assisted by Alexander Aravena following a fast break.
- 76'
Substitution, Real Salt Lake. Victor Olatunji replaces Sergi Solans.
- 77'
Substitution, Real Salt Lake. Zach Booth replaces Zavier Gozo.
- 78'
Foul by DeAndre Yedlin (Real Salt Lake).
- 78'
Alexander Aravena (Portland Timbers) wins a free kick in the defensive half.
- 79'
Brandon Bye (Portland Timbers) wins a free kick in the defensive half.
- 79'
Foul by Victor Olatunji (Real Salt Lake).
- 80'
Attempt blocked. David da Costa (Portland Timbers) right footed shot from the centre of the box is blocked. Assisted by Antony with a through ball.
- 81'
Delay in match (Real Salt Lake).
- 81'
Delay over. They are ready to continue.
- 82'
Zach Booth (Real Salt Lake) wins a free kick in the defensive half.
- 82'
Foul by Ian Smith (Portland Timbers).
- 82'
Ian Smith (Portland Timbers) is shown the yellow card for a bad foul.
- 82'
Victor Olatunji (Real Salt Lake) wins a free kick on the left wing.
- 82'
Foul by Brandon Bye (Portland Timbers).
- 85'
Juan Manuel Sanabria (Real Salt Lake) is shown the yellow card.
- 86'
Attempt blocked. Diego Luna (Real Salt Lake) right footed shot from the left side of the box is blocked. Assisted by Noel Caliskan.
- 86'
Philip Quinton (Real Salt Lake) wins a free kick in the defensive half.
- 86'
Foul by Kevin Kelsy (Portland Timbers).
- 88'
Attempt missed. Kristoffer Velde (Portland Timbers) right footed shot from outside the box is too high. Assisted by José Caicedo.
- 89'
Substitution, Real Salt Lake. Aiden Hezarkhani replaces Diego Luna.
- 89'
Substitution, Real Salt Lake. Pablo Ruiz replaces Stijn Spierings.
- 90'
Fourth official has announced 6 minutes of added time.
- 90'+1'
Substitution, Portland Timbers. Gage Guerra replaces Kevin Kelsy.
- 90'+5'
Victor Olatunji (Real Salt Lake) wins a free kick in the defensive half.
- 90'+5'
Foul by Kamal Miller (Portland Timbers).
- 90'+5'
Jimer Fory (Portland Timbers) wins a free kick in the defensive half.
- 90'+5'
Foul by Victor Olatunji (Real Salt Lake).
- 90'+7'
Second Half ends, Real Salt Lake 2, Portland Timbers 0.
- —
Match ends, Real Salt Lake 2, Portland Timbers 0.
Sources & data scope
Supplied match statistics, events and lineups. Missing components remain unavailable; preview season aggregates are excluded from match statistics.
- ESPN source ↗ · Checked Nov 4, 2026, 5:37 am ESTSupplied match statistics, events and lineups. Missing components remain unavailable; preview season aggregates are excluded from match statistics.
Times are Eastern Time. A selected match date does not rewind the current table or roster. Missing values are shown as —.

