St. Louis City vs Portland Timbers, MLS 2025 REGULAR SEASON
Overview
Match Preview
St. Louis City vs Portland Timbers — MLS at Citypark.
- St. Louis City 34 games · 54 pts (2026/26)
- Portland Timbers 34 games · 46 pts (2026/26)
Standings
| # | Team | P | Pts |
|---|---|---|---|
| 1 | Nashville SC | 34 | 77 |
| 2 | Internacional CF Miami | 34 | 60 |
| 3 | New England Revolution | 34 | 58 |
| 4 | Chicago Fire FC | 34 | 55 |
| 5 | Charlotte FC | 34 | 54 |
| 6 | Philadelphia Union | 34 | 50 |
| 7 | Columbus Crew SC | 34 | 47 |
| 8 | FC Cincinnati | 34 | 46 |
| 9 | Orlando City SC | 34 | 46 |
| 10 | New York City FC | 34 | 42 |
| 11 | New York Red Bulls | 34 | 42 |
| 12 | Toronto FC | 34 | 39 |
| 13 | Atlanta United FC | 34 | 33 |
| 14 | D.C. United SC | 34 | 33 |
| 15 | Montreal Impact FC | 34 | 26 |
| 16 | Vancouver Whitecaps FC | 34 | 64 |
| 17 | FC Dallas | 34 | 58 |
| 18 | St. Louis City | 34 | 54 |
| 19 | San Jose Earthquakes | 34 | 52 |
| 20 | Houston Dynamo | 34 | 51 |
| 21 | Los Angeles FC | 34 | 47 |
| 22 | Portland Timbers | 34 | 46 |
| 23 | Seattle Sounders FC | 34 | 46 |
| 24 | Real Salt Lake | 34 | 45 |
| 25 | Minnesota United FC | 34 | 44 |
| 26 | Los Angeles Galaxy | 34 | 44 |
| 27 | Colorado Rapids SC | 34 | 43 |
| 28 | San Diego FC | 34 | 38 |
| 29 | Austin FC | 34 | 34 |
| 30 | Sporting Kansas City | 34 | 26 |
Head-to-Head
Recent Form
| Date | Opponent | H/A | Score | Result |
|---|---|---|---|---|
| 13 Jul | Portland Timbers | H | 2–1 | W |
| 06 Jul | Real Salt Lake | A | 2–3 | L |
| 29 Jun | Houston Dynamo | A | 0–1 | L |
| 26 Jun | Orlando City SC | H | 2–4 | L |
| 14 Jun | Los Angeles Galaxy | H | 3–3 | D |
| 08 Jun | Portland Timbers | A | 1–2 | L |
| Date | Opponent | H/A | Score | Result |
|---|---|---|---|---|
| 13 Jul | St. Louis City | A | 1–2 | L |
| 06 Jul | New England Revolution | H | 2–1 | W |
| 28 Jun | Toronto FC | A | 0–3 | L |
| 14 Jun | San Jose Earthquakes | H | 1–1 | D |
| 08 Jun | St. Louis City | H | 2–1 | W |
| 29 May | Colorado Rapids SC | H | 2–1 | W |
Season Stats
| St. Louis City | Portland Timbers | |
|---|---|---|
| #18 | Position | #22 |
| 54 | Points | 46 |
| 34 | Played | 34 |
| 15 / 9 / 10 | W / D / L | 13 / 7 / 14 |
| 59 | Scored | 62 |
| 48 | Conceded | 61 |
| +11 | GD | +1 |
| 1.59 | PPG | 1.35 |
| 44% | Win % | 38% |
Key Stats
88%
Both Teams to Score
H2H (8 games)
H2H (8 games)
88%
Over 2.5 Goals
H2H history
H2H history
18%
Clean Sheets
St. Louis City this season
St. Louis City this season
9%
Clean Sheets
Portland Timbers this season
Portland Timbers this season
St. Louis City are 18th (54 pts). Portland Timbers are 22nd (46 pts).
Goal Timing (This Season)
St. Louis City
0-15
9/3
16-30
8/2
31-45
11/8
46-60
10/9
61-75
6/7
76+
10/11
■ Scored ■ Conceded
Portland Timbers
0-15
7/10
16-30
8/10
31-45
9/9
46-60
6/5
61-75
10/4
76+
12/10
■ Scored ■ Conceded
Top Scorers (This Season)
St. Louis City
| Rafael Navarro | 18 G | 6 A |
| Simon Becher | 9 G | 4 A |
| Marcel Hartel | 6 G | 3 A |
Portland Timbers
| Kristoffer Velde | 12 G | 6 A |
| Ariel Lassiter | 9 G | 4 A |
| Kevin Kelsy | 9 G | 2 A |
Events
Match Events
- 0' It’s Showtime! The match between St. Louis City and Portland Timbers is underway.
- 5' It looks like no one’s ball. Portland Timbers is used to counterattacking playing. None of the sides are ready to take the lead.
- 10' Portland Timbers have won 498 goals from 307 games. They will be desperate to add to that tally today.
- 15' Tomas Totland has been one of the livelier players on the pitch with 3 goals to his name this season.
- 19' Brilliant from the ! David Pereira da Costa makes it 0-1 with a superb finish on 19.
- 24' Tomas Ostrak is a natural and has been asked to do a very specific job for St. Louis City tonight.
- 29' With 0 assists to his name this season, Cristhian Paredes is clearly more than just a goal scorer for Portland Timbers.
- 34' Matchday of the Array and both teams know exactly what is at stake tonight.
- 39' Players seem to put ease on their energy level Spectators hardly appreciate such approach. Teams need to speed up the tempo.
- 44' Portland Timbers fans have not had much to celebrate tonight. Their side is struggling to get forward.
- 46' A tactical swap from Portland Timbers — Ian Smith on, Jimer Fory off on 46 minutes.
- 51' Although teams showed high tempo form the start, they seem to slow down a bit. Both sides really need to catch a fire. Otherwise, we have another goalless match.
- 54' What composure from Marcel Hartel! The Germany international strokes it home. 1-1.
- 59' Julio Ortiz has been a danger all night but risks an early exit having now seen a card on 59.
- 64' Kevin Kelsy catches the referee's attention in entirely the wrong way. card on 64.
- 65' Time for substitution for Portland Timbers. Santiago Moreno is replaced by Omir Fernandez.
- 66' St. Louis City make a change. Tomas Ostrak trudges off to be replaced by Eduard Lowen on 66 minutes.
- 67' The deadlock is broken! Marcel Hartel gets on the scoresheet on 67 minutes.
- 67' The St. Louis City manager makes a substitution. Celio Pompeu departs to be replaced by Simon Becher.
- 72' Portland Timbers are keeping things exceptionally tight at the back. It will take something special to break them down.
- 75' Time for substitution for Portland Timbers. David Ayala is replaced by Cristhian Paredes.
- 77' The referee has no hesitation. Juan Mosquera is booked for Portland Timbers — card on 77.
- 79' Controversy at the stadium! Kamal Miller argues furiously but the card stands.
- 82' Another substitution for St. Louis City to replace Cedric Teuchert by Akil Watts on 82 minute.
- 87' We are waiting for someone to take the initiative. Who will be the first to commit to attack?
- 90' Klauss picks up a card and will need to be extremely careful for the remainder of this match.
- 90' St. Louis City make a change. Jaziel Orozco trudges off to be replaced by Kyle Hiebert on 90 minutes.
- Portland Timbers will have plenty to reflect on. St. Louis City were simply the better side today.
Lineups
St. Louis City Lineups
Starting XI
- 1
-
36
Cedric Teuchert ↓ Akil Watts 82'
- 17
- 9
-
7
Tomas Ostrak ↓ Eduard Lowen 66'
-
91
Jaziel Orozco ↓ Kyle Hiebert 90'
- 3
- 15
-
12
Celio Pompeu ↓ Simon Becher 67'
- 14
- 6
Bench
-
10
Eduard Lowen ↑ 66'
- 45
-
11
Simon Becher ↑ 67'
-
22
Kyle Hiebert ↑ 90'
-
20
Akil Watts ↑ 82'
- 99
- 39
- 33
- 71
Coach
David Critchley
Portland Timbers Lineups
Starting XI
- 13
- 16
- 4
-
24
David Ayala ↓ Cristhian Paredes 75'
- 10
- 30
- 20
- 19
- 29
-
27
Jimer Fory ↓ Ian Smith 46'
-
80
Julio Ortiz ↓ Diego Chara 65'
Bench
-
21
Diego Chara ↑ 65'
-
17
Cristhian Paredes ↑ 75'
- 41
- 15
-
22
Omir Fernandez ↑ 65'
- 9
-
23
Ian Smith ↑ 46'
- 88
Coach
Phil Neville
H2H
H2H Top Scorers
| Player | Goals |
|---|---|
| Kristoffer Velde | 4 |
| Evander | 2 |
| Rafael Navarro | 2 |
| David Pereira da Costa | 2 |
| Marcel Hartel | 2 |
| Felipe Mora | 2 |
| Eduard Lowen | 1 |
| Yimmi Chara | 1 |
Head to Head
St. Louis City Form
Portland Timbers Form
2025-07-13
St. Louis City
2–1
Portland Timbers
L
2025-07-06
Portland Timbers
2–1
New England Revolution
W
2025-06-28
Toronto FC
3–0
Portland Timbers
L
2025-06-14
Portland Timbers
1–1
San Jose Earthquakes
D
2025-06-08
Portland Timbers
2–1
St. Louis City
W
2025-05-29
Portland Timbers
2–1
Colorado Rapids SC
W
Predictions
Prediction accuracy
3 / 4
2.17
St. Louis City xG
Expected Goals
Dixon-Coles · Bivariate Poisson · Neg. Binomial · Elo
1.59
Portland Timbers xG
I would bet for:
Over 2.5 goals 71% + Both teams to score 70%
Match Result
✓ CorrectActual: St. Louis City win
Both Teams to Score
✓ Correct
Avg goals/match: 3.76
Actual: Yes — both scored
Over / Under Goals
✓ O/U 2.5| Line | Over | Under | |
|---|---|---|---|
| ± 0.5 | 96% |
|
4% |
| ± 1.5 | 89% |
|
11% |
| ± 2.5 | 71% |
|
29% |
| ± 3.5 | 51% |
|
49% |
| ± 4.5 | 32% |
|
68% |
Double Chance
St. Louis City or Draw
72%
Draw or Portland Timbers
52%
St. Louis City or Portland Timbers
76%
Half-Time Result
✗ WrongActual: Portland Timbers win at HT
Correct Score
✓ In top 12
1 – 1
8.8%
2 – 1
Actual
2 – 2
6.6%
1 – 2
6.2%
3 – 1
6%
2 – 0
5.5%
3 – 2
4.8%
1 – 0
4.6%
3 – 0
3.9%
0 – 0
3.5%
2 – 3
3.5%
4 – 1
3.3%
Asian Handicap — St. Louis City
| Handicap | St. Louis City covers | Push | Portland Timbers covers |
|---|---|---|---|
| -2.5 | 15% | — | 85% |
| -2 | 15% | 15% | 70% |
| -1.5 | 30% | — | 70% |
| -1 | 30% | 20% | 50% |
| -0.5 | 50% | — | 50% |
| +0.5 | 72% | — | 28% |
| +1 | 72% | 14% | 13% |
| +1.5 | 87% | — | 13% |
| +2 | 87% | 8% | 5% |
| +2.5 | 95% | — | 5% |
Clean Sheet
St. Louis City keeps clean sheet
21%
✓
Portland Timbers keeps clean sheet
12%
✓
Predictions are statistical estimates based on season form, H2H history, and a Poisson model. Not financial advice.

