Portland Timbers v Real Salt Lake result
Team pages: Portland Timbers · Real Salt Lake · Head-to-head
Portland Timbers 3–1 Real Salt Lake — Portland Timbers won this Major League Soccer match.
The result
Portland Timbers beat Real Salt Lake 3–1 in Major League Soccer on Thursday 23 October. It is Portland Timbers’s first win over Real Salt Lake since 14 July 2024, after three meetings without one (the 6 prior meetings TACTIX holds).
The goals
Portland Timbers led 2–1 at half-time. The goals — Portland Timbers: F. Mora (24’, 35’) and K. Miller (82’, assisted by A. Lassiter); Real Salt Lake: J. Glad (39’, assisted by Diogo Gonçalves).
The numbers
Expected goals (xG) agree with the result: Portland Timbers 1.83, Real Salt Lake 1.10, from 12 shots to 22 (the provider’s expected goals for this match).
Discipline
Guido Gonzales Jr, USA showed five yellow cards — against 4.9 yellows a game across the last 12 matches refereed (this competition). The bookings — Real Salt Lake: N. Caliskan (22’), Brayan Vera (74’), D. Yedlin (79’), D. Luna (84’) and A. Katranis (88’).
What it changes
Portland Timbers have scored 47 goals, the third-fewest of the 15 clubs (2025 so far, after 38 games, ranked per game). Portland Timbers have conceded 57 goals, the eighth-fewest of the 15 clubs.
Real Salt Lake have scored 39 goals, the second-fewest of the 15 clubs (2025 so far, after 35 games, ranked per game). Real Salt Lake have conceded 52 goals, the seventh-fewest of the 15 clubs.
Real Salt Lake are winless in their last three matches in all competitions.
Who stood out
By TACTIX Impact for this match, F. Mora (Portland Timbers) 10.2, J. Glad (Real Salt Lake) 7.8 and K. Miller (Portland Timbers) 6.6 led the match.
Head-to-head
Real Salt Lake are unbeaten in the last three meetings with Portland Timbers.
Written from the matches TACTIX holds for both sides; each figure names the games it is counted over.
The Numbers
- Result: Portland Timbers 3–1 Real Salt Lake · Major League Soccer
- Referee: Guido Gonzales Jr, USA
- Head-to-head (last 6): Portland Timbers 2 · draws 3 · Real Salt Lake 1 · 2.17 goals/game
- Recent form: Portland Timbers 0W 2D 3L · Real Salt Lake 2W 1D 2L
Portland Timbers 3–1 Real Salt Lake (Major League Soccer): this fixture is settled. TACTIX’s pre-match coverage ran across every major market, and every graded call — wins and losses — is in the live track record (as of 30 July 2026). See the live track record →
Key Stats
Per game, last 8 completed matches, to 19 October 2025. Over/under figures use standard thresholds, not bookmaker lines.
| Per game | Portland Timbers for / against | Line | Real Salt Lake for / against |
|---|---|---|---|
| Goals scored | 0.75 for · 1.38 against n 8 Last 5 | 2.5standard | 1.38 for · 2 against n 8 Last 5 |
| Corners won | 5.71 for · 5.43 against n 7 Last 5 | 9.5standard | 5.75 for · 5.63 against n 8 Last 5 |
| Shots | 14 for · 13.43 against n 7 Last 5 | 19.5standard | 16.38 for · 13.88 against n 8 Last 5 |
| Shots on target | 5.14 for · 4 against n 7 Last 5 | 8.5standard | 5 for · 4.25 against n 8 Last 5 |
| Fouls committed | 10.57 for · 11.43 against n 7 Last 5 | 21.5standard | 13.63 for · 12.13 against n 8 Last 5 |
| Cards shown | 1.86 for · 2.43 against n 7 Last 5 | 3.5standard | 2.25 for · 1.38 against n 8 Last 5 |
Referee: Guido Gonzales Jr, USA — 4.92 yellow cards a game, 0.42 red cards, 24.67 fouls over 12 matches.
The referee's home and away split · Pro
Create free account Try Pro for £1.00 then £9.99 a month unless you cancel · 18+
Portland Timbers
Portland Timbers Goalkeeper
| Player | Apps | Avg mins | Saves | Goals conceded | Penalties saved |
|---|---|---|---|---|---|
| J. Pantemis | 20 | 901807 min | 713.5 /90 | 261.3 /90 | 30.1 /90 |
| Maxime Crépeau | 15 | 901350 min | 513.4 /90 | 221.5 /90 | 00 /90 |
| Player | Mins | Saves 2+3+ |
|---|---|---|
| J. Pantemis n 8 | 90.9 | 2.7 |
| Maxime Crépeau n 8 | 90 | 3.1 |
Portland Timbers Defensive
| Player | Apps | Avg mins | Tackles | Interceptions | Blocks | Duels won | Fouls committed | Yellow cards |
|---|---|---|---|---|---|---|---|---|
| F. Surman | 31 | 882728 min | 391.3 /90 | 311 /90 | 341.1 /90 | 1133.7 /90 | 130.4 /90 | 20.1 /90 |
| J. Mosquera | 28 | 812273 min | 351.4 /90 | 100.4 /90 | 10 /90 | 893.5 /90 | 90.4 /90 | 20.1 /90 |
| J. Fory | 27 | 772087 min | 421.8 /90 | 311.3 /90 | 90.4 /90 | 1325.7 /90 | 421.8 /90 | 90.4 /90 |
| K. Miller | 23 | 851956 min | 130.6 /90 | 251.2 /90 | 120.6 /90 | 683.1 /90 | 211 /90 | 50.2 /90 |
| D. Župarić | 19 | 871657 min | 271.5 /90 | 392.1 /90 | 120.7 /90 | 774.2 /90 | 181 /90 | 40.2 /90 |
| See more players · Pro Try Pro for £1, then £9.99 a month unless you cancel · 18+ | ||||||||
| Player | Mins | Fouls committed 1+2+ | Fouls won 1+2+ | Likely duel |
|---|---|---|---|---|
| D. Ayala n 8 | 75.4 | 1.6 | 1.8 | Braian Ojeda |
| David Pereira da Costa n 8 | 59.4 | 0.6 | 0.4 | Diogo Gonçalves |
| K. Kelsy n 8 | 59.9 | 1.5 | 1.1 | — |
| F. Surman n 8 | 90.9 | 0.2 | 0 | J. Glad |
| F. Mora n 8 | 47.8 | 0.5 | 1.4 | — |
| See more players · Pro | ||||
| Player | Mins | Tackles 1+2+ |
|---|---|---|
| D. Ayala n 8 | 75.4 | 3 |
| David Pereira da Costa n 8 | 59.4 | 0.6 |
| K. Kelsy n 8 | 59.9 | 0.4 |
| F. Surman n 8 | 90.9 | 1.5 |
| F. Mora n 8 | 47.8 | 0.2 |
| See more players · Pro | ||
Portland Timbers Attacking
| Player | Apps | Avg mins | Goals | Assists | Shots | Shots on target | Key passes | Dribbles completed |
|---|---|---|---|---|---|---|---|---|
| K. Kelsy | 32 | 511622 min | 70.4 /90 | 10.1 /90 | 271.5 /90 | 140.8 /90 | 130.7 /90 | 100.6 /90 |
| F. Mora | 30 | 561682 min | 50.3 /90 | 30.2 /90 | 251.3 /90 | 150.8 /90 | 130.7 /90 | 90.5 /90 |
| A. Lassiter | 11 | 47515 min | 00 /90 | 10.2 /90 | 61 /90 | 20.3 /90 | 81.4 /90 | 40.7 /90 |
| O. Fernandez | 11 | 40438 min | 00 /90 | 00 /90 | 10.2 /90 | 10.2 /90 | 30.6 /90 | 71.4 /90 |
| Jonathan Rodríguez | 5 | 27137 min | 10.7 /90 | 10.7 /90 | 63.9 /90 | 32 /90 | 21.3 /90 | 00 /90 |
| See more players · Pro | ||||||||
| Player | Mins | Shots 1+2+ | Shots on target 1+2+ |
|---|---|---|---|
| D. Ayala n 8 | 75.4 | 0.9 | 0.1 |
| David Pereira da Costa n 8 | 59.4 | 0.8 | 0.2 |
| K. Kelsy n 8 | 59.9 | 2.1 | 0.9 |
| F. Surman n 8 | 90.9 | 0.1 | 0 |
| F. Mora n 8 | 47.8 | 1.9 | 0.5 |
| See more players · Pro | |||
| Player | Mins | Goals 1+2+ | Assists 1+2+ |
|---|---|---|---|
| D. Ayala n 8 | 75.4 | 0 | 0 |
| David Pereira da Costa n 8 | 59.4 | 0 | 0 |
| K. Kelsy n 8 | 59.9 | 0.4 | 0.2 |
| F. Surman n 8 | 90.9 | 0 | 0 |
| F. Mora n 8 | 47.8 | 0 | 0 |
| See more players · Pro | |||
Real Salt Lake
Real Salt Lake Goalkeeper
| Player | Apps | Avg mins | Saves | Goals conceded | Penalties saved |
|---|---|---|---|---|---|
| Rafael Cabral | 36 | 903240 min | 1012.8 /90 | 511.4 /90 | 40.1 /90 |
| Player | Mins | Saves 2+3+ |
|---|---|---|
| Rafael Cabral n 8 | 90 | 2.5 |
Real Salt Lake Defensive
| Player | Apps | Avg mins | Tackles | Interceptions | Blocks | Duels won | Fouls committed | Yellow cards |
|---|---|---|---|---|---|---|---|---|
| J. Glad | 31 | 902779 min | 351.1 /90 | 411.3 /90 | 321 /90 | 1163.8 /90 | 391.3 /90 | 80.3 /90 |
| S. Junqua | 31 | 641976 min | 331.5 /90 | 160.7 /90 | 120.5 /90 | 884 /90 | 180.8 /90 | 00 /90 |
| A. Katranis | 29 | 641858 min | 271.3 /90 | 90.4 /90 | 30.1 /90 | 703.4 /90 | 381.8 /90 | 90.4 /90 |
| Brayan Vera | 27 | 792146 min | 321.3 /90 | 210.9 /90 | 170.7 /90 | 823.4 /90 | 321.3 /90 | 90.4 /90 |
| N. Caliskan | 24 | 831989 min | 512.3 /90 | 241.1 /90 | 110.5 /90 | 823.7 /90 | 251.1 /90 | 40.2 /90 |
| See more players · Pro | ||||||||
| Player | Mins | Fouls committed 1+2+ | Fouls won 1+2+ | Likely duel |
|---|---|---|---|---|
| Rafael Cabral n 8 | 90 | 0 | 0 | — |
| J. Glad n 8 | 89.9 | 1.4 | 0.3 | F. Surman |
| Braian Ojeda n 8 | 68.9 | 1.5 | 1.6 | D. Ayala |
| S. Junqua n 8 | 61.3 | 1.7 | 1.3 | — |
| Diogo Gonçalves n 8 | 72 | 0.3 | 1.1 | David Pereira da Costa |
| See more players · Pro | ||||
| Player | Mins | Tackles 1+2+ |
|---|---|---|
| J. Glad n 8 | 89.9 | 0.9 |
| Braian Ojeda n 8 | 68.9 | 1.3 |
| S. Junqua n 8 | 61.3 | 0.7 |
| Diogo Gonçalves n 8 | 72 | 0.5 |
| A. Katranis n 8 | 63.1 | 1.2 |
| See more players · Pro | ||
Real Salt Lake Attacking
| Player | Apps | Avg mins | Goals | Assists | Shots | Shots on target | Key passes | Dribbles completed |
|---|---|---|---|---|---|---|---|---|
| W. Agada | 21 | 561175 min | 20.2 /90 | 20.2 /90 | 181.4 /90 | 70.5 /90 | 171.3 /90 | 50.4 /90 |
| A. Piol | 19 | 46883 min | 10.1 /90 | 10.1 /90 | 90.9 /90 | 20.2 /90 | 70.7 /90 | 40.4 /90 |
| T. Wolff | 11 | 36392 min | 00 /90 | 00 /90 | 20.5 /90 | 10.2 /90 | 51.1 /90 | 71.6 /90 |
| Rwan Cruz | 10 | 62617 min | 00 /90 | 10.1 /90 | 182.6 /90 | 81.2 /90 | 91.3 /90 | 91.3 /90 |
| V. Olatunji | 8 | 81645 min | 40.6 /90 | 00 /90 | 202.8 /90 | 142 /90 | 71 /90 | 101.4 /90 |
| See more players · Pro | ||||||||
| Player | Mins | Shots 1+2+ | Shots on target 1+2+ |
|---|---|---|---|
| Rafael Cabral n 8 | 90 | 0 | 0 |
| J. Glad n 8 | 89.9 | 0.4 | 0.1 |
| Braian Ojeda n 8 | 68.9 | 1.6 | 0.8 |
| S. Junqua n 8 | 61.3 | 0.4 | 0 |
| Diogo Gonçalves n 8 | 72 | 1.3 | 0.9 |
| See more players · Pro | |||
| Player | Mins | Goals 1+2+ | Assists 1+2+ |
|---|---|---|---|
| Rafael Cabral n 8 | 90 | 0 | 0 |
| J. Glad n 8 | 89.9 | 0 | 0.1 |
| Braian Ojeda n 8 | 68.9 | 0.2 | 0 |
| S. Junqua n 8 | 61.3 | 0 | 0.2 |
| Diogo Gonçalves n 8 | 72 | 0.2 | 0.3 |
| See more players · Pro | |||
The day’s free picks, by email
Every morning at 07:30 UK: the model’s free picks, each with its confidence tier and that tier’s settled record, misses included. No tips, no guarantees, one click to leave.
Match Statistics & Details
| Portland Timbers | Real Salt Lake | |
|---|---|---|
| 48% | Possession | 52% |
| 1.83 | Expected goals (xG) | 1.10 |
| 12 | Shots | 22 |
| 8 | Shots on target | 7 |
| 1 | Shots off target | 8 |
| 3 | Blocked shots | 7 |
| 11 | Shots inside the box | 12 |
| 7 | Corners | 6 |
| 2 | Offsides | 3 |
| 14 | Fouls | 15 |
| 0 | Yellow cards | 5 |
| 0 | Red cards | 0 |
| 6 | Saves | 5 |
| 466 | Passes | 520 |
| 83% | Pass accuracy | 85% |
Portland Timbers Player Stats
| Player | Min | G | A | Sh | SoT | KP | Tkl | Cards | Rating |
|---|---|---|---|---|---|---|---|---|---|
| J. Pantemis | 90 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 7.9 |
| J. Mosquera | 90 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 7.3 |
| F. Surman | 90 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 7.2 |
| K. Miller | 90 | 1 | 0 | 2 | 2 | 0 | 1 | 0 | 7.9 |
| J. Fory | 90 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 7.2 |
| D. Chara | 90 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 7.3 |
| K. Velde | 89 | 0 | 0 | 1 | 1 | 6 | 0 | 0 | 7.5 |
| David Pereira da Costa | 86 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 7 |
| F. Mora | 86 | 2 | 0 | 4 | 4 | 2 | 0 | 0 | 8.7 |
| D. Ayala | 78 | 0 | 0 | 1 | 0 | 0 | 2 | 0 | 6.9 |
| Antony | 78 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 6.3 |
| J. Ortiz sub | 13 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 6.7 |
| K. Kelsy sub | 13 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 6.3 |
| C. Paredes sub | 12 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 6.3 |
| A. Lassiter sub | 12 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 7.2 |
| O. Fernandez sub | 9 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 6.3 |
Real Salt Lake Player Stats
| Player | Min | G | A | Sh | SoT | KP | Tkl | Cards | Rating |
|---|---|---|---|---|---|---|---|---|---|
| Rafael Cabral | 90 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 7.7 |
| J. Glad | 90 | 1 | 0 | 1 | 1 | 1 | 1 | 0 | 7.6 |
| Brayan Vera | 90 | 0 | 0 | 0 | 0 | 1 | 0 | Y | 6.3 |
| A. Katranis | 90 | 0 | 0 | 0 | 0 | 0 | 0 | Y | 6.6 |
| D. Luna | 90 | 0 | 0 | 1 | 1 | 3 | 0 | Y | 7.2 |
| Diogo Gonçalves | 90 | 0 | 1 | 4 | 1 | 3 | 0 | 0 | 7.5 |
| D. Yedlin | 88 | 0 | 0 | 2 | 1 | 2 | 4 | Y | 7.3 |
| Braian Ojeda | 78 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 6.3 |
| Z. Gozo | 65 | 0 | 0 | 0 | 0 | 3 | 3 | 0 | 7.2 |
| V. Olatunji | 65 | 0 | 0 | 2 | 0 | 1 | 1 | 0 | 6.9 |
| N. Caliskan | 45 | 0 | 0 | 0 | 0 | 0 | 0 | Y | 6.3 |
| Emeka Eneli sub | 45 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 7 |
| W. Agada sub | 25 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 6.9 |
| Rwan Cruz sub | 25 | 0 | 0 | 2 | 2 | 1 | 0 | 0 | 7 |
| Jesús Rafael Barea Barroso sub | 12 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 6.7 |
| J. Russell sub | 11 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 6.3 |
Sh = shots, SoT = shots on target, KP = key passes, Tkl = tackles; – = not recorded for that player. Rating is the data provider’s.
Form, Head-to-Head & Standings
The numbers behind Portland Timbers v Real Salt Lake — recent results, past meetings and where each side sits. (TACTIX’s model forecast is in the projections below.)
- 2025-07-17 Portland Timbers 0–1 Real Salt Lake
- 2025-05-15 Real Salt Lake 0–0 Portland Timbers
- 2024-09-22 Real Salt Lake 3–3 Portland Timbers
- 2024-07-14 Portland Timbers 3–0 Real Salt Lake
- 2023-08-31 Portland Timbers 2–1 Real Salt Lake
- 2023-05-18 Real Salt Lake 0–0 Portland Timbers
The Full Post-Match Picture
Pro members see this match shot by shot — every attempt with its expected-goals value, the situation and shot-type breakdowns, the xG timeline, and how the model’s pre-match probabilities compared with what happened. Plus every market the model graded for this fixture.
then £9.99 a month unless you cancel · 18+
Frequently Asked Questions
- What is the head-to-head record between Portland Timbers and Real Salt Lake?
- In their last 6 meetings, Portland Timbers won 2, Real Salt Lake won 1 and there were 3 draws, averaging 2.17 goals per game.
- What is the recent form of Portland Timbers and Real Salt Lake?
- Recent form — Portland Timbers 0W 2D 3L; Real Salt Lake 2W 1D 2L.
Today’s Boards
Every fixture kicking off in the UK day, and the fixtures where the free pick leads with each market.
This page is generated from TACTIX’s match data by our software and checked automatically; data as of . How it works → · Report an error
How our model works · Live track record · Predictions are model output, not betting advice.