Major League Soccer Regular Season - 17

Portland Timbers 2 - 1 FT Real Salt Lake

Providence Park

Match previews and recaps to help you decide which games are worth watching

Futmetrix Verdict
72
FT
Sun, Jul 26
Portland Timbers
2-1
Real Salt Lake
⚡ Intensity 62
⚖️ Balance 74
🏆 Stakes 33
🎲 Upset 10
A single red card changes everything.

Providence Park Erupts as Mora Completes Dramatic Comeback

Highly Entertaining Futmetrix Score: 72/100. A single moment of indiscipline turned a frustrating deficit into a dominant, season-defining victory for the home side.

The Early Shock

Real Salt Lake arrived at Providence Park with absolute confidence. The visitors sat comfortably higher in the standings and wasted no time imposing their will. Their early tactical blueprint worked to perfection. In the 18th minute, a sharp attacking sequence silenced the home crowd. M. Guilavogui threaded a clever pass into the box, and J. Sanabria buried it past the keeper. The away side looked entirely in control, soaking up pressure and neutralizing threats. Portland struggled to generate any meaningful rhythm. The Balance of the match leaned heavily toward an away masterclass. Real Salt Lake appeared poised to consolidate their top-tier status while pushing the Timbers further down the table. The hosts looked utterly deflated, searching for answers against a resolute defensive block.

The Turning Point

Everything shattered in the 34th minute. The architect of the opening goal instantly became the architect of his team's downfall. Guilavogui saw a straight red card, instantly altering the complexion of the match. Real Salt Lake was suddenly forced into a desperate, hour-long survival mission. This dismissal cranked up the Intensity to a boiling point. The Portland Timbers completely hijacked the tempo, launching an absolute attacking siege. A barrage of 22 shots turned the final third into a shooting gallery. The visitors bunkered down, but the defensive dam finally broke shortly after halftime. A. Lassiter spotted an opening and whipped a perfectly weighted pass to F. Mora. The striker finished with clinical precision to level the tie.

The Killing Blow

With the momentum fully shifted, Portland refused to take their foot off the gas. They dominated possession with 61 percent of the ball, trapping their opponents in their own penalty area. A staggering 13 corners kept the pressure relentless. The Stakes were massive for the struggling hosts, and they found their hero in the 67th minute. Midfield maestro K. Velde orchestrated the final blow, delivering one of his five key passes to unlock the defense yet again. Mora pounced on the opportunity, completing his brace and securing a vital victory. RSL fought valiantly with ten men, relying on their keeper's crucial saves, but they simply could not hold out. This thrilling comeback provides a massive jolt of belief for the Timbers.

Key Questions

How did the red card for M. Guilavogui impact the match?

His 34th-minute dismissal forced Real Salt Lake into a defensive shell. It allowed Portland to dominate possession and launch a relentless 22-shot attacking siege.

How did Portland Timbers complete the comeback from behind?

Capitalizing on the numerical advantage, Portland controlled the ball. Felipe Mora scored twice in the second half, assisted by Lassiter and Velde, to seal the victory.

What is the Futmetrix Score?

The Futmetrix Score is our 0-100 verdict on how entertaining a match is. We look at intensity, balance, stakes, and star quality to tell you if it's worth your time.

Match Statistics

Possession
61%
39%
Portland Timbers 61%
Real Salt Lake 39%
Shots
22
6
Portland Timbers 22
Real Salt Lake 6
Shots on Target
6
2
Portland Timbers 6
Real Salt Lake 2
Expected Goals (xG)
2.58
0.15
Portland Timbers 2.58
Real Salt Lake 0.15
Passes
518
338
Portland Timbers 518
Real Salt Lake 338
Pass Accuracy
88%
78%
Portland Timbers 88%
Real Salt Lake 78%
Corners
13
5
Portland Timbers 13
Real Salt Lake 5
Fouls
11
13
Portland Timbers 11
Real Salt Lake 13
Yellow Cards
2
1
Portland Timbers 2
Real Salt Lake 1
Red Cards
0
1
Portland Timbers 0
Real Salt Lake 1

Match Events

10' 🟨 C. Bassett
J. Sanabria (M. Guilavogui) 18'
M. Guilavogui 🟥 34'
41' 🟨 D. Chara
HT
S. Solans 🟨 55'
56' F. Mora (A. Lassiter)
57' 🔄 A. Lassiter Antony
D. Yedlin S. Junqua 🔄 58'
67' F. Mora (K. Velde)
72' 🔄 D. Chara J. Caicedo
72' 🔄 F. Mora A. Aravena
D. Luna S. Lobjanidze 🔄 74'
S. Solans V. Olatunji 🔄 74'
L. Engel J. J. Arias 🔄 74'
J. Sanabria A. Katranis 🔄 85'
86' 🔄 C. Bassett J. Ortiz
FT

Player Cards

Our take on every player in this match

Portland Timbers

Goalkeepers
James Pantemis
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
96
Total Mins
Started
Entry
Defenders
Brandon Bye
ARCHITECT
ARCHITECT
2
Key Passes
2
Key Passes
0
Assists
49%
Pass Acc
Finn Surman
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
96
Total Mins
Started
Entry
Kamal Miller
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
96
Total Mins
Started
Entry
Jímer Fory
STORMTROOPER
STORMTROOPER
1
Shots
1
Shots
0
Goals
0
On Target
Midfielders
Diego Chará
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
72
Total Mins
72
Entry
Ariel Lassiter
PROVIDER
PROVIDER
1
Assists
1
Assists
2
Key Passes
7.3
Rating
Cole Bassett
STORMTROOPER
STORMTROOPER
2
Shots
2
Shots
0
Goals
1
On Target
David Pereira Da Costa
ARCHITECT
ARCHITECT
5
Key Passes
5
Key Passes
0
Assists
55%
Pass Acc
Kristoffer Velde
ARCHITECT
ARCHITECT
5
Key Passes
5
Key Passes
1
Assists
28%
Pass Acc
Forwards
Felipe Mora
HITMAN
HITMAN
2
Goals
2
Goals
2
On Target
8.2
Rating
BENCH
Trey Muse
SPECTATOR
SPECTATOR
0
Saves
0
Saves
0
Conceded
0
Minutes
Ian Smith
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Alex Bonetig
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Eric Miller
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Sawyer Jura
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
José Caicedo
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
24
Total Mins
Started
Entry
Joao Ortíz
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
10
Total Mins
Started
Entry
Antony Alves
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
39
Total Mins
Started
Entry
Alexander Aravena
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
24
Total Mins
Started
Entry

Real Salt Lake

Goalkeepers
Rafael Cabral
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
96
Total Mins
Started
Entry
Defenders
DeAndre Yedlin
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
58
Total Mins
58
Entry
Philip Quinton
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
96
Total Mins
Started
Entry
Lukas Engel
STORMTROOPER
STORMTROOPER
1
Shots
1
Shots
0
Goals
0
On Target
Midfielders
Zavier Gozo
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
96
Total Mins
Started
Entry
Stijn Spierings
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
96
Total Mins
Started
Entry
Noel Caliskan
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
96
Total Mins
Started
Entry
Juan Sanabria
SNIPER
SNIPER
100%
Conversion
100%
Conversion
1
Goals
1
Shots
Forwards
Diego Luna
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
74
Total Mins
74
Entry
Sergi Solans
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
74
Total Mins
74
Entry
Morgan Guilavogui
FRIENDLY FIRE
FRIENDLY FIRE
Red Card
Mistake
Red Card
Mistake
2
Fouls
5.7
Rating
BENCH
Mason Stajduhar
SPECTATOR
SPECTATOR
0
Saves
0
Saves
0
Conceded
0
Minutes
Sam Junqua
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
38
Total Mins
Started
Entry
Juan Jose Arias
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
22
Total Mins
Started
Entry
Alexandros Katranis
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
11
Total Mins
Started
Entry
Saba Lobzhanidze
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
22
Total Mins
Started
Entry
Zach Booth
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Griffin Dillon
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Pablo Ruíz
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Victor Olatunji
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
22
Total Mins
Started
Entry

Head to Head

Date Home Score Away Competition Venue
05/02/2026 Real Salt Lake 2 - 0 Portland Timbers Major League Soccer Rio Tinto Stadium
10/23/2025 Portland Timbers 3 - 1 Real Salt Lake Major League Soccer Providence Park
07/17/2025 Portland Timbers 0 - 1 Real Salt Lake Major League Soccer Providence Park
05/15/2025 Real Salt Lake 0 - 0 Portland Timbers Major League Soccer Rio Tinto Stadium
09/22/2024 Real Salt Lake 3 - 3 Portland Timbers Major League Soccer America First Field
07/14/2024 Portland Timbers 3 - 0 Real Salt Lake Major League Soccer Providence Park
08/31/2023 Portland Timbers 2 - 1 Real Salt Lake Major League Soccer Providence Park
05/18/2023 Real Salt Lake 0 - 0 Portland Timbers Major League Soccer America First Field
05/11/2023 Portland Timbers 3 - 4 Real Salt Lake US Open Cup Providence Park
10/09/2022 Real Salt Lake 3 - 1 Portland Timbers Major League Soccer America First Field
05/02/2026
Major League Soccer Rio Tinto Stadium
10/23/2025
Major League Soccer Providence Park
07/17/2025
Major League Soccer Providence Park
05/15/2025
Major League Soccer Rio Tinto Stadium
09/22/2024
Major League Soccer America First Field
07/14/2024
Major League Soccer Providence Park
08/31/2023
Major League Soccer Providence Park
05/18/2023
Major League Soccer America First Field
05/11/2023
US Open Cup Providence Park
10/09/2022
Major League Soccer America First Field
Portland Timbers Win
Real Salt Lake Win
Draw

League Standings

Pos Team P Pts GF GA GD Form
1 Vancouver Whitecaps 13 27 29 12 +17 DMinnesota United FC 0 - 0 Vancouver Whitecaps (26-07-2026)WSan Diego 2 - 4 Vancouver Whitecaps (24-05-2026)LHouston Dynamo 1 - 0 Vancouver Whitecaps (17-05-2026)WFC Dallas 2 - 3 Vancouver Whitecaps (14-05-2026)DSan Jose Earthquakes 1 - 1 Vancouver Whitecaps (10-05-2026)
2 San Jose Earthquakes 12 25 30 14 +16 WPortland Timbers 1 - 3 San Jose Earthquakes (24-05-2026)LSan Jose Earthquakes 2 - 3 FC Dallas (17-05-2026)LSeattle Sounders 3 - 2 San Jose Earthquakes (14-05-2026)DSan Jose Earthquakes 1 - 1 Vancouver Whitecaps (10-05-2026)WSt. Louis City 2 - 3 San Jose Earthquakes (26-04-2026)
3 Los Angeles FC 14 24 19 15 +4 WLos Angeles FC 3 - 1 Real Salt Lake (23-07-2026)WLos Angeles Galaxy 0 - 3 Los Angeles FC (18-07-2026)WLos Angeles FC 1 - 0 Seattle Sounders (25-05-2026)LSt. Louis City 2 - 1 Los Angeles FC (14-05-2026)LLos Angeles FC 1 - 4 Houston Dynamo (11-05-2026)
4 Seattle Sounders 15 24 19 19 0 LAustin 3 - 1 Seattle Sounders (23-07-2026)LSeattle Sounders 1 - 5 Portland Timbers (17-07-2026)LLos Angeles FC 1 - 0 Seattle Sounders (25-05-2026)LSeattle Sounders 0 - 2 Los Angeles Galaxy (17-05-2026)WSeattle Sounders 3 - 2 San Jose Earthquakes (14-05-2026)
5 Real Salt Lake 13 23 24 18 +6 LLos Angeles FC 3 - 1 Real Salt Lake (23-07-2026)DMinnesota United FC 1 - 1 Real Salt Lake (23-05-2026)WReal Salt Lake 2 - 1 Colorado Rapids (17-05-2026)WReal Salt Lake 3 - 0 Houston Dynamo (14-05-2026)LFC Dallas 3 - 1 Real Salt Lake (10-05-2026)
6 Colorado Rapids 14 19 21 16 +5 LSt. Louis City 1 - 0 Colorado Rapids (26-07-2026)WColorado Rapids 1 - 0 San Diego (23-07-2026)LColorado Rapids 1 - 2 FC Dallas (24-05-2026)LReal Salt Lake 2 - 1 Colorado Rapids (17-05-2026)WMinnesota United FC 0 - 1 Colorado Rapids (14-05-2026)
7 St. Louis City 13 19 17 19 -2 WSt. Louis City 1 - 0 Colorado Rapids (26-07-2026)WLos Angeles Galaxy 1 - 3 St. Louis City (23-07-2026)WSt. Louis City 3 - 2 Sporting Kansas City (17-07-2026)WSt. Louis City 3 - 0 Austin (23-05-2026)WSt. Louis City 2 - 1 Los Angeles FC (14-05-2026)
8 Houston Dynamo 13 19 19 22 -3 WHouston Dynamo 3 - 0 Austin (26-07-2026)DLos Angeles Galaxy 1 - 1 Houston Dynamo (24-05-2026)WHouston Dynamo 1 - 0 Vancouver Whitecaps (17-05-2026)LReal Salt Lake 3 - 0 Houston Dynamo (14-05-2026)WLos Angeles FC 1 - 4 Houston Dynamo (11-05-2026)
9 Minnesota United FC 13 17 13 17 -4 DMinnesota United FC 0 - 0 Vancouver Whitecaps (26-07-2026)LSporting Kansas City 2 - 1 Minnesota United FC (23-07-2026)DMinnesota United FC 1 - 1 Real Salt Lake (23-05-2026)LMinnesota United FC 0 - 1 Colorado Rapids (14-05-2026)DMinnesota United FC 2 - 2 Austin (10-05-2026)
10 FC Dallas 13 16 23 23 0 LSan Diego 1 - 0 FC Dallas (26-07-2026)DPortland Timbers 2 - 2 FC Dallas (23-07-2026)WColorado Rapids 1 - 2 FC Dallas (24-05-2026)WSan Jose Earthquakes 2 - 3 FC Dallas (17-05-2026)LFC Dallas 2 - 3 Vancouver Whitecaps (14-05-2026)
11 San Diego 15 16 23 25 -2 WSan Diego 1 - 0 FC Dallas (26-07-2026)LColorado Rapids 1 - 0 San Diego (23-07-2026)LSan Diego 2 - 4 Vancouver Whitecaps (24-05-2026)WSan Diego 5 - 0 Austin (14-05-2026)DSeattle Sounders 1 - 1 San Diego (10-05-2026)
12 Portland Timbers 13 14 24 25 -1 DPortland Timbers 2 - 2 FC Dallas (23-07-2026)WSeattle Sounders 1 - 5 Portland Timbers (17-07-2026)LPortland Timbers 1 - 3 San Jose Earthquakes (24-05-2026)WPortland Timbers 6 - 0 Sporting Kansas City (10-05-2026)LReal Salt Lake 2 - 0 Portland Timbers (02-05-2026)
13 Los Angeles Galaxy 13 13 16 24 -8 LLos Angeles Galaxy 1 - 3 St. Louis City (23-07-2026)LLos Angeles Galaxy 0 - 3 Los Angeles FC (18-07-2026)DLos Angeles Galaxy 1 - 1 Houston Dynamo (24-05-2026)WSeattle Sounders 0 - 2 Los Angeles Galaxy (17-05-2026)LSporting Kansas City 3 - 1 Los Angeles Galaxy (14-05-2026)
14 Sporting Kansas City 13 13 15 31 -16 WSporting Kansas City 2 - 1 Minnesota United FC (23-07-2026)LSt. Louis City 3 - 2 Sporting Kansas City (17-07-2026)WAustin 1 - 2 Sporting Kansas City (17-05-2026)WSporting Kansas City 3 - 1 Los Angeles Galaxy (14-05-2026)LPortland Timbers 6 - 0 Sporting Kansas City (10-05-2026)
15 Austin 13 12 15 27 -12 LHouston Dynamo 3 - 0 Austin (26-07-2026)WAustin 3 - 1 Seattle Sounders (23-07-2026)LSt. Louis City 3 - 0 Austin (23-05-2026)LAustin 1 - 2 Sporting Kansas City (17-05-2026)LSan Diego 5 - 0 Austin (14-05-2026)