MLS

Portland Timbers vs Real Salt Lake, 2025 MLS, Western Conference Playoffs - Wild Card

· MLS
  • 24': Felipe Mora
  • 35': Felipe Mora
  • 82': Kamal Miller
FT
3 - 1
  • 39': Justen Glad

Mora scores 2, Timbers beat Real Salt Lake to advance in MLS playoffs

Felipe Mora's two first-half goals propelled the Portland Timbers to a 3-1 wild-card victory over Real Salt Lake on Wednesday night, setting up a first-round playoff series against San Diego FC.

Match Timeline

  • 0': Lineups are announced and players are warming up.
  • 0': First Half begins.
  • 3': Antony (Portland Timbers) wins a free kick in the defensive half.
  • 3': Foul by Brayan Vera (Real Salt Lake).
  • 4': Corner, Portland Timbers. Conceded by Alexandros Katranis.
  • 4': Attempt missed. David Ayala (Portland Timbers) left footed shot from the centre of the box is too high. Assisted by Kristoffer Velde with a cross following a corner.
  • 8': Foul by Finn Surman (Portland Timbers).
  • 8': Victor Olatunji (Real Salt Lake) wins a free kick in the attacking half.
  • 9': Alexandros Katranis (Real Salt Lake) wins a free kick in the defensive half.
  • 9': Foul by Antony (Portland Timbers).
  • 11': Attempt blocked. Felipe Mora (Portland Timbers) right footed shot from the centre of the box is blocked. Assisted by Kristoffer Velde.
  • 13': Attempt blocked. Victor Olatunji (Real Salt Lake) right footed shot from the right side of the box is blocked. Assisted by Diego Luna.
  • 15': Corner, Portland Timbers. Conceded by Zavier Gozo.
  • 15': Attempt blocked. Jimer Fory (Portland Timbers) header from the centre of the box is blocked. Assisted by Kristoffer Velde with a cross.
  • 15': Corner, Portland Timbers. Conceded by Brayan Vera.
  • 16': Corner, Portland Timbers. Conceded by Rafael Cabral.
  • 16': Attempt blocked. David Ayala (Portland Timbers) header from the centre of the box is blocked. Assisted by Kristoffer Velde with a cross.
  • 16': Offside, Portland Timbers. Felipe Mora is caught offside.
  • 21': Foul by Diego Luna (Real Salt Lake).
  • 21': Jimer Fory (Portland Timbers) wins a free kick in the defensive half.
  • 22': Felipe Mora (Portland Timbers) wins a free kick in the defensive half.
  • 22': Foul by Brayan Vera (Real Salt Lake).
  • 22': Noel Caliskan (Real Salt Lake) is shown the yellow card.
  • 23': Diego Chará (Portland Timbers) wins a free kick on the right wing.
  • 23': Foul by Noel Caliskan (Real Salt Lake).
  • 24': Attempt saved. Felipe Mora (Portland Timbers) header from the centre of the box is saved in the bottom right corner by Rafael Cabral (Real Salt Lake). Assisted by Kristoffer Velde with a cross.
  • 24': Goal! Portland Timbers 1, Real Salt Lake 0. Felipe Mora (Portland Timbers) right footed shot from the right side of the six yard box to the centre of the goal following a set piece situation.
  • 28': Attempt missed. Victor Olatunji (Real Salt Lake) right footed shot from the right side of the box is high and wide to the right. Assisted by Zavier Gozo.
  • 32': Attempt blocked. Zavier Gozo (Real Salt Lake) left footed shot from the right side of the box is blocked. Assisted by Brayan Vera.
  • 32': Corner, Real Salt Lake. Conceded by James Pantemis.
  • 34': Attempt missed. Diogo Gonçalves (Real Salt Lake) left footed shot from the centre of the box is too high. Assisted by Braian Ojeda with a cross.
  • 35': Attempt saved. Felipe Mora (Portland Timbers) header from very close range is saved in the bottom right corner by Rafael Cabral (Real Salt Lake). Assisted by Kristoffer Velde with a cross.
  • 35': Goal! Portland Timbers 2, Real Salt Lake 0. Felipe Mora (Portland Timbers) right footed shot from very close range to the bottom right corner.
  • 38': Corner, Real Salt Lake. Conceded by Kristoffer Velde.
  • 39': Goal! Portland Timbers 2, Real Salt Lake 1. Justen Glad (Real Salt Lake) header from the centre of the box to the top left corner. Assisted by Diogo Gonçalves with a cross following a corner.
  • 41': Foul by Diego Luna (Real Salt Lake).
  • 41': Jimer Fory (Portland Timbers) wins a free kick in the attacking half.
  • 43': DeAndre Yedlin (Real Salt Lake) wins a free kick in the defensive half.
  • 43': Foul by Kristoffer Velde (Portland Timbers).
  • 45': Corner, Real Salt Lake. Conceded by Juan Mosquera.
  • 45'+1': Fourth official has announced 3 minutes of added time.
  • 45'+1': Foul by DeAndre Yedlin (Real Salt Lake).
  • 45'+1': Kristoffer Velde (Portland Timbers) wins a free kick on the left wing.
  • 45'+1': Diego Luna (Real Salt Lake) wins a free kick in the defensive half.
  • 45'+1': Foul by Diego Chará (Portland Timbers).
  • 45'+3': Diogo Gonçalves (Real Salt Lake) wins a free kick in the defensive half.
  • 45'+3': Foul by Antony (Portland Timbers).
  • 45'+4': First Half ends, Portland Timbers 2, Real Salt Lake 1.
  • 45': Second Half begins Portland Timbers 2, Real Salt Lake 1.
  • 45': Substitution, Real Salt Lake. Emeka Eneli replaces Noel Caliskan.
  • 49': Attempt blocked. Zavier Gozo (Real Salt Lake) right footed shot from outside the box is blocked. Assisted by DeAndre Yedlin.
  • 49': Attempt blocked. Diogo Gonçalves (Real Salt Lake) right footed shot from the centre of the box is blocked.
  • 50': Foul by Justen Glad (Real Salt Lake).
  • 50': Kristoffer Velde (Portland Timbers) wins a free kick in the defensive half.
  • 51': Handball by Victor Olatunji (Real Salt Lake).
  • 51': Alexandros Katranis (Real Salt Lake) wins a free kick in the defensive half.
  • 51': Foul by Antony (Portland Timbers).
  • 53': Corner, Real Salt Lake. Conceded by Diego Chará.
  • 54': Attempt missed. DeAndre Yedlin (Real Salt Lake) right footed shot from outside the box misses to the left following a corner.
  • 54': Offside, Real Salt Lake. Justen Glad is caught offside.
  • 55': Attempt missed. Diogo Gonçalves (Real Salt Lake) right footed shot from outside the box misses to the left.
  • 56': Foul by Finn Surman (Portland Timbers).
  • 56': Victor Olatunji (Real Salt Lake) wins a free kick in the attacking half.
  • 57': Attempt blocked. Alexandros Katranis (Real Salt Lake) left footed shot from outside the box is blocked. Assisted by Diego Luna.
  • 57': Antony (Portland Timbers) wins a free kick in the defensive half.
  • 57': Foul by Alexandros Katranis (Real Salt Lake).
  • 58': Attempt saved. David da Costa (Portland Timbers) right footed shot from outside the box is saved in the top right corner by Rafael Cabral (Real Salt Lake). Assisted by Felipe Mora.
  • 59': Attempt missed. Victor Olatunji (Real Salt Lake) right footed shot from outside the box is high and wide to the right. Assisted by Zavier Gozo following a fast break.
  • 60': Diego Chará (Portland Timbers) wins a free kick in the defensive half.
  • 60': Foul by Alexandros Katranis (Real Salt Lake).
  • 62': Attempt saved. DeAndre Yedlin (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 Zavier Gozo.
  • 63': Attempt saved. Emeka Eneli (Real Salt Lake) right footed shot from the centre of the box is saved in the centre of the goal by James Pantemis (Portland Timbers). Assisted by Victor Olatunji.
  • 64': Delay in match because of an injury Jimer Fory (Portland Timbers).
  • 65': Substitution, Real Salt Lake. Rwan Cruz replaces Zavier Gozo.
  • 65': Substitution, Real Salt Lake. William Agada replaces Victor Olatunji.
  • 65': Delay over. They are ready to continue.
  • 69': Attempt saved. Diogo Gonçalves (Real Salt Lake) right footed shot from outside the box is saved in the centre of the goal by James Pantemis (Portland Timbers).
  • 70': Offside, Real Salt Lake. William Agada is caught offside.
  • 71': Corner, Portland Timbers. Conceded by Justen Glad.
  • 72': Corner, Portland Timbers. Conceded by William Agada.
  • 72': Attempt saved. Kamal Miller (Portland Timbers) header from the centre of the box is saved in the top centre of the goal by Rafael Cabral (Real Salt Lake).
  • 73': Corner, Real Salt Lake. Conceded by Kamal Miller.
  • 73': William Agada (Real Salt Lake) hits the bar with a right footed shot from the centre of the box. Assisted by Diego Luna following a corner.
  • 74': Antony (Portland Timbers) wins a free kick in the defensive half.
  • 74': Foul by Brayan Vera (Real Salt Lake).
  • 74': Brayan Vera (Real Salt Lake) is shown the yellow card for a bad foul.
  • 74': Attempt saved. Rwan Cruz (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 Diogo Gonçalves.
  • 75': Handball by David Ayala (Portland Timbers).
  • 76': (Portland Timbers) wins a free kick in the defensive half.
  • 76': Rwan Cruz (Real Salt Lake).
  • 77': Offside, Real Salt Lake. Rwan Cruz is caught offside.
  • 78': Substitution, Portland Timbers. Ariel Lassiter replaces Antony.
  • 78': Substitution, Portland Timbers. Cristhian Paredes replaces David Ayala.
  • 78': Substitution, Real Salt Lake. Jesús Barea replaces Braian Ojeda.
  • 79': Emeka Eneli (Real Salt Lake) wins a free kick in the defensive half.
  • 79': Foul by Felipe Mora (Portland Timbers).
  • 79': DeAndre Yedlin (Real Salt Lake) is shown the yellow card for a bad foul.
  • 79': Foul by DeAndre Yedlin (Real Salt Lake).
  • 79': Kristoffer Velde (Portland Timbers) wins a free kick on the left wing.
  • 80': DeAndre Yedlin (Real Salt Lake) wins a free kick in the defensive half.
  • 80': Foul by Kristoffer Velde (Portland Timbers).
  • 81': Attempt saved. Kristoffer Velde (Portland Timbers) left footed shot from the left side of the box is saved in the bottom left corner by Rafael Cabral (Real Salt Lake). Assisted by Felipe Mora.
  • 81': Corner, Portland Timbers. Conceded by Rafael Cabral.
  • 82': Goal! Portland Timbers 3, Real Salt Lake 1. Kamal Miller (Portland Timbers) header from the left side of the six yard box to the centre of the goal. Assisted by Ariel Lassiter following a corner.
  • 84': Foul by Rwan Cruz (Real Salt Lake).
  • 84': Jimer Fory (Portland Timbers) wins a free kick in the defensive half.
  • 84': Diego Luna (Real Salt Lake) is shown the yellow card.
  • 86': Substitution, Portland Timbers. Kevin Kelsy replaces Felipe Mora.
  • 86': Substitution, Portland Timbers. Joao Ortiz replaces David da Costa.
  • 86': Attempt saved. Diego Luna (Real Salt Lake) right footed shot from outside the box is saved in the top right corner by James Pantemis (Portland Timbers). Assisted by Diogo Gonçalves.
  • 86': Corner, Real Salt Lake. Conceded by James Pantemis.
  • 87': DeAndre Yedlin (Real Salt Lake) wins a free kick in the attacking half.
  • 87': Foul by Kristoffer Velde (Portland Timbers).
  • 88': Foul by Alexandros Katranis (Real Salt Lake).
  • 88': Juan Mosquera (Portland Timbers) wins a free kick in the defensive half.
  • 88': Alexandros Katranis (Real Salt Lake) is shown the yellow card for a bad foul.
  • 88': Substitution, Real Salt Lake. Johnny Russell replaces DeAndre Yedlin.
  • 89': Foul by Diego Chará (Portland Timbers).
  • 89': Jesús Barea (Real Salt Lake) wins a free kick in the attacking half.
  • 90': Attempt blocked. Brayan Vera (Real Salt Lake) right footed shot from outside the box is blocked.
  • 90': Substitution, Portland Timbers. Omir Fernandez replaces Kristoffer Velde.
  • 90': Fourth official has announced 7 minutes of added time.
  • 90'+1': Attempt missed. William Agada (Real Salt Lake) right footed shot from the right side of the box is high and wide to the right. Assisted by Emeka Eneli.
  • 90'+4': Delay in match because of an injury Alexandros Katranis (Real Salt Lake).
  • 90'+4': Delay in match because of an injury Omir Fernandez (Portland Timbers).
  • 90'+5': Delay over. They are ready to continue.
  • 90'+6': Offside, Portland Timbers. Kevin Kelsy is caught offside.
  • 90'+6': Attempt saved. Rwan Cruz (Real Salt Lake) header from the centre of the box is saved in the bottom left corner by James Pantemis (Portland Timbers). Assisted by Justen Glad with a cross.
  • 90'+7': Alexandros Katranis (Real Salt Lake) wins a free kick in the defensive half.
  • 90'+7': Foul by Kevin Kelsy (Portland Timbers).
  • 90'+7': Attempt blocked. Jesús Barea (Real Salt Lake) right footed shot from the left side of the box is blocked. Assisted by Rwan Cruz.
  • 90'+8': Dangerous play by Kevin Kelsy (Portland Timbers).
  • 90'+8': Rwan Cruz (Real Salt Lake) wins a free kick in the attacking half.
  • 90'+8': Attempt missed. Diogo Gonçalves (Real Salt Lake) right footed shot from outside the box misses to the right following a set piece situation.
  • 90'+9': Second Half ends, Portland Timbers 3, Real Salt Lake 1.
  • 0': Match ends, Portland Timbers 3, Real Salt Lake 1.

Statistics

https://a.espncdn.com/combiner/i?img=/i/teamlogos/soccer/500/4771.png&h=25&scale=crop&w=25&location=originRSL PORhttps://a.espncdn.com/combiner/i?img=/i/teamlogos/soccer/500/9723.png&h=25&scale=crop&w=25&location=origin
15 Fouls 14
5 Yellow Cards 0
0 Red Cards 0
3 Offsides 2
6 Corner Kicks 7
5 Saves 6
52.2 Possession 47.8
22 SHOTS 12
7 ON GOAL 8
0.3 On Target % 0.7
0 Penalty Goals 0
0 Penalty Kicks Taken 0
443 Accurate Passes 383
519 Passes 465
0.9 Pass Completion % 0.8
6 Accurate Crosses 6
17 Crosses 22
0.4 Cross % 0.3
48 Long Balls 46
25 Accurate Long Balls 24
0.5 Long Balls % 0.5
7 Blocked Shots 3
4 Effective Tackles 4
9 Tackles 10
0.4 Tackle % 0.4
19 Interceptions 3
26 Effective Clearances 42
26 Clearances 42

Game Information

Competition: MLS

Venue: Providence Park
Location: Portland, Oregon, USA

Line-Ups

POR Portland Timbers (4-2-3-1)

No. Name
41 James Pantemis (GK)
4 Kamal Miller
20 Finn Surman
27 Jimer Fory
29 Juan Mosquera
10 David Da Costa
24 David Ayala
21 Diego Chará
9 Felipe Mora
99 Kristoffer Velde
11 Antony

RSL Real Salt Lake (4-2-3-1)

No. Name
1 Rafael (GK)
4 Brayan Vera Yellow Card
15 Justen Glad
98 Alexandros Katranis Yellow Card
2 DeAndre Yedlin Yellow Card
8 Diego Luna Yellow Card
92 Noel Caliskan Yellow Card
6 Braian Ojeda
17 Victor Olatunji
10 Diogo Gonçalves
72 Zavier Gozo

MLS News

Mora scores 2, Timbers beat Real Salt Lake to advance in MLS playoffs
Mora scores 2, Timbers beat Real Salt Lake to advance in MLS playoffs

Felipe Mora's two first-half goals propelled the Portland Timbers to a 3-1 wild-card victory over Real Salt Lake on Wednesday night, setting up a first-round playoff series against San Diego FC.

Felipe Mora scores 2 goals in 1st half for Timbers
Felipe Mora scores 2 goals in 1st half for Timbers

Felipe Mora scores 2 goals in 1st half for Timbers

Fire advance in MLS Wild Card, face top-seed Union next
Fire advance in MLS Wild Card, face top-seed Union next

The Chicago Fire kicked off the 2025 MLS playoffs with an impressive win over Orlando City in the Eastern Conference Wild Card game to advance to a series against the Philadelphia Union.

Inter Miami season a failure without a trophy - Noah Allen
Inter Miami season a failure without a trophy - Noah Allen

Inter Miami CF defender Noah Allen insists the team enters the MLS Cup playoffs with high expectations, emphasizing that anything less than lifting the trophy would be considered a failure.

2025 MLS Cup Wild Card preview: Who's moving on to Round 1?
2025 MLS Cup Wild Card preview: Who's moving on to Round 1?

The MLS Cup playoffs begin with the Wild Card round, and ESPN details which of Chicago, Orlando, Portland and Salt Lake will be moving on to Round 1.