Real Salt Lake vs Portland Timbers

15 May 2025 · MLS · 2025 · Referee Drew Fischer

Full time 0 – 0

Half-time: 0–0

Match summary

Real Salt Lake and Portland Timbers played out a goalless draw.

Portland Timbers had the better of the chances, with 0.87 expected goals (xG) from 12 shots to Real Salt Lake's 0.38 from 8.

Match stats

50% Possession 50%
8 Shots 12
2 Shots on target 4
4 Corners 0
473 Passes 485
84.1% Pass accuracy 85.8%
14 Tackles 17
13 Fouls 11
3 Yellow cards 1
2 Offsides 3

Key events

Real Salt Lake Portland Timbers
Kick-off
6’
Antony AlvesShot on target
Sam JunquaShot on target
16’
21’
Zavier GozoShot on target
35’
Second half underway
Half-time0-0
46’
Cristhian Paredes
Jesus BareaDiogo Gonçalves
59’
60’
Antony AlvesShot on target
61’
Jonathan RodríguezAntony Alves
64’
69’
72’
Felipe MoraKevin Kelsy
89’
Omir FernandezShot on target
89’
Jonathan RodríguezShot on target
Full-time0-0

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 0’ 15’ 30’ 45’ 60’ 75’ 90’ HT 0.38 0.87 0.0 0.5 1.0 0’ 15’ 30’ 45’ 60’ 75’ 90’ HT 0.38 0.87
Real Salt Lake 0.38 xGPortland Timbers 0.87 xG Goal

Tap a goal for the scorer and score.

Shot map

Every shot and where it was taken from.

 Portland Timbers attacking Real Salt Lake attacking 
89’ Omir Fernandez (Portland Timbers), open play, 0.18 xG, blocked 89’ Omir Fernandez (Portland Timbers), open play, 0.13 xG, saved 89’ Jonathan Rodríguez (Portland Timbers), open play, 0.11 xG, saved 53’ Antony Alves (Portland Timbers), open play, 0.10 xG, off target 78’ Zavier Gozo (Real Salt Lake), open play, 0.10 xG, blocked 81’ Jesus Barea (Real Salt Lake), open play, 0.08 xG, off target 68’ Braian Ojeda (Real Salt Lake), set piece, 0.07 xG, off target 6’ Antony Alves (Portland Timbers), open play, 0.06 xG, saved 47’ Diego Luna (Real Salt Lake), direct free kick, 0.06 xG, hit the woodwork 52’ Cristhian Paredes (Portland Timbers), open play, 0.06 xG, off target 60’ Antony Alves (Portland Timbers), open play, 0.05 xG, saved 65’ David Pereira Da Costa (Portland Timbers), direct free kick, 0.04 xG, off target 86’ Jonathan Rodríguez (Portland Timbers), open play, 0.04 xG, off target 9’ Santiago Moreno (Portland Timbers), open play, 0.04 xG, off target 23’ Santiago Moreno (Portland Timbers), set piece, 0.03 xG, off target 42’ Diogo Gonçalves (Real Salt Lake), open play, 0.03 xG, blocked 31’ David Pereira Da Costa (Portland Timbers), open play, 0.02 xG, off target 35’ Zavier Gozo (Real Salt Lake), open play, 0.02 xG, saved 3’ Braian Ojeda (Real Salt Lake), open play, 0.01 xG, off target 16’ Sam Junqua (Real Salt Lake), from a corner, 0.01 xG, saved 89’ Omir Fernandez (Portland Timbers), open play, 0.18 xG, blocked 89’ Omir Fernandez (Portland Timbers), open play, 0.13 xG, saved 89’ Jonathan Rodríguez (Portland Timbers), open play, 0.11 xG, saved 53’ Antony Alves (Portland Timbers), open play, 0.10 xG, off target 78’ Zavier Gozo (Real Salt Lake), open play, 0.10 xG, blocked 81’ Jesus Barea (Real Salt Lake), open play, 0.08 xG, off target 68’ Braian Ojeda (Real Salt Lake), set piece, 0.07 xG, off target 6’ Antony Alves (Portland Timbers), open play, 0.06 xG, saved 52’ Cristhian Paredes (Portland Timbers), open play, 0.06 xG, off target 47’ Diego Luna (Real Salt Lake), direct free kick, 0.06 xG, hit the woodwork 60’ Antony Alves (Portland Timbers), open play, 0.05 xG, saved 65’ David Pereira Da Costa (Portland Timbers), direct free kick, 0.04 xG, off target 86’ Jonathan Rodríguez (Portland Timbers), open play, 0.04 xG, off target 9’ Santiago Moreno (Portland Timbers), open play, 0.04 xG, off target 23’ Santiago Moreno (Portland Timbers), set piece, 0.03 xG, off target 42’ Diogo Gonçalves (Real Salt Lake), open play, 0.03 xG, blocked 31’ David Pereira Da Costa (Portland Timbers), open play, 0.02 xG, off target 35’ Zavier Gozo (Real Salt Lake), open play, 0.02 xG, saved 3’ Braian Ojeda (Real Salt Lake), open play, 0.01 xG, off target 16’ Sam Junqua (Real Salt Lake), from a corner, 0.01 xG, saved
Size shows xG Goal On target Off target or blocked

Hover or tap a shot for the player, minute and xG.

Lineups

Real Salt Lake 4-2-3-1 Starting XI
Cabral
Junqua
Katranis
Caliskan
Hidalgo
Eneli
Ojeda 78’
Luna
Gonçalves 59’
Gozo
Piol 59’
Portland Timbers 4-2-3-1 Starting XI
Crépeau
Bravo
Župarić
Miller
Mosquera
Paredes
Ortíz 61’
Alves 61’
Costa 72’
Moreno 79’
Kelsy 72’

Player stats

Goalkeeper1 player
90′ 3 0 50 – – – – –
Defenders3 players
90′ – 1 – 2 2 75 1 – – –
90′ – – – 3 2 47 – – – –
90′ – – – – – 34 2 – – –
Midfielders9 players
90′ – – 44 – 0.01 3 3 4 3 1 –
90′ – – 48 1 0.03 2 1 4 1 1 –
Braian Ojeda Taken off
78′ – – 50 – 0.10 1 1 4 3 1 –
90′ – – 18 – 0.01 5 1 12 1 3 –
90′ – – 52 3 0.08 – 1 2 – 1 –
Diogo Gonçalves Taken off
59′ – – 20 – 0.05 1 – 2 – 1 –
Dominik Marczuk Came on as a substitute
31′ – – 9 – 0.00 1 – 1 – – –
Jesus Barea Came on as a substitute
31′ – – 10 – 0.02 1 – 4 – 3 –
Pablo Ruíz Came on as a substitute
12′ – – 10 – 0.00 – – – 2 – –
Forwards1 player
Ariath Piol Taken off
59′ – – – – – 0.00 – – – 6 –
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.