St. Louis City v Portland Timbers result
Team pages: St. Louis City · Portland Timbers · Head-to-head
St. Louis City 2–1 Portland Timbers — St. Louis City won this Major League Soccer match.
The result
St. Louis City beat Portland Timbers 2–1 in Major League Soccer on Monday 14 July.
The goals
St. Louis City came from behind: Portland Timbers led 1–0 at half-time. The goals — Portland Timbers: David Pereira da Costa (19’, assisted by S. Moreno); St. Louis City: M. Hartel (54’; 67’, assisted by C. Wallem).
The numbers
Expected goals (xG) agree with the result: St. Louis City 2.08, Portland Timbers 1.15, from 20 shots to 10 (the provider’s expected goals for this match).
Discipline
Ricardo Montero, Costa Rica showed six yellow cards — against 4.4 yellows a game across the last 13 matches refereed (this competition). The bookings — St. Louis City: Joao Klauss (90+2’) and Jaziel Orozco (90+3’); Portland Timbers: J. Ortiz (59’), K. Kelsy (64’), J. Mosquera (77’) and K. Miller (79’).
What it changes
St. Louis City have scored 31 goals, the third-fewest of the 15 clubs (2025 so far, after 27 games, ranked per game). St. Louis City have conceded 47 goals, the fourth-most (shared) of the 15 clubs.
Portland Timbers have scored 35 goals, the seventh-fewest of the 15 clubs (2025 so far, after 27 games, ranked per game). Portland Timbers have conceded 37 goals, the seventh-fewest of the 15 clubs.
Who stood out
By TACTIX Impact for this match, M. Hartel (St. Louis City) 10.7, David Pereira da Costa (Portland Timbers) 6.1 and C. Wallem (St. Louis City) 5.6 led the match.
Written from the matches TACTIX holds for both sides; each figure names the games it is counted over.
The Numbers
- Result: St. Louis City 2–1 Portland Timbers · Major League Soccer
- Referee: Ricardo Montero, Costa Rica
- Head-to-head (last 6): St. Louis City 2 · draws 2 · Portland Timbers 2 · 3.5 goals/game
- Recent form: St. Louis City 0W 1D 4L · Portland Timbers 3W 1D 1L
St. Louis City 2–1 Portland Timbers (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 2 July 2026). See the live track record →
Key Stats
Per game, last 8 completed matches, to 6 July 2025. Over/under figures use standard thresholds, not bookmaker lines.
| Per game | St. Louis City for / against | Line | Portland Timbers for / against |
|---|---|---|---|
| Goals scored | 1.5 for · 2.25 against n 8 Last 5 | 2.5standard | 1 for · 1.13 against n 8 Last 5 |
| Corners won | 4.86 for · 6 against n 7 Last 5 | 9.5standard | 5.33 for · 6.5 against n 6 Last 5 |
| Shots | 13.29 for · 16.14 against n 7 Last 5 | 19.5standard | 12.83 for · 14.17 against n 6 Last 5 |
| Shots on target | 4.29 for · 6.71 against n 7 Last 5 | 8.5standard | 4.5 for · 5.83 against n 6 Last 5 |
| Fouls committed | 10.57 for · 10.86 against n 7 Last 5 | 21.5standard | 12 for · 11.33 against n 6 Last 5 |
| Cards shown | 2.14 for · 1.57 against n 7 Last 5 | 3.5standard | 1.83 for · 1.83 against n 6 Last 5 |
Referee: Ricardo Montero, Costa Rica — 4.38 yellow cards a game, 0.38 red cards, 25.69 fouls over 13 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+
St. Louis City
St. Louis City Goalkeeper
| Player | Apps | Avg mins | Saves | Goals conceded | Penalties saved |
|---|---|---|---|---|---|
| R. Burki | 12 | 901080 min | 484 /90 | 201.7 /90 | 00 /90 |
| B. Lundt | 9 | 90810 min | 323.6 /90 | 141.6 /90 | 10.1 /90 |
| Player | Mins | Saves 2+3+ |
|---|---|---|
| R. Burki n 8 | 90 | 4.5 |
| B. Lundt n 8 | 90 | 3.9 |
St. Louis City Defensive
| Player | Apps | Avg mins | Tackles | Interceptions | Blocks | Duels won | Fouls committed | Yellow cards |
|---|---|---|---|---|---|---|---|---|
| K. Hiebert | 17 | 871484 min | 211.3 /90 | 70.4 /90 | 150.9 /90 | 513.1 /90 | 120.7 /90 | 30.2 /90 |
| J. Yaro | 15 | 721074 min | 121 /90 | 131.1 /90 | 90.8 /90 | 282.3 /90 | 40.3 /90 | 10.1 /90 |
| T. Baumgartl | 12 | 881056 min | 262.2 /90 | 151.3 /90 | 100.9 /90 | 474 /90 | 141.2 /90 | 30.3 /90 |
| H. Kessler | 10 | 86855 min | 161.7 /90 | 40.4 /90 | 141.5 /90 | 464.8 /90 | 90.9 /90 | 20.2 /90 |
| T. Totland | 10 | 68683 min | 81.1 /90 | 101.3 /90 | 20.3 /90 | 233 /90 | 20.3 /90 | 00 /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 |
|---|---|---|---|---|
| M. Hartel n 8 | 87.6 | 0.1 | 0.4 | David Pereira da Costa |
| S. Becher n 8 | 60.9 | 0.9 | 1.5 | — |
| C. Wallem n 8 | 67.1 | 1.5 | 1.3 | D. Ayala |
| Akil Watts n 8 | 74.5 | 0.6 | 1.2 | — |
| Joao Klauss n 8 | 77.1 | 1.3 | 0.6 | — |
| See more players · Pro | ||||
| Player | Mins | Tackles 1+2+ |
|---|---|---|
| M. Hartel n 8 | 87.6 | 0.1 |
| S. Becher n 8 | 60.9 | 0.7 |
| C. Wallem n 8 | 67.1 | 1.8 |
| Akil Watts n 8 | 74.5 | 2.7 |
| Joao Klauss n 8 | 77.1 | 0.7 |
| See more players · Pro | ||
St. Louis City Attacking
| Player | Apps | Avg mins | Goals | Assists | Shots | Shots on target | Key passes | Dribbles completed |
|---|---|---|---|---|---|---|---|---|
| S. Becher | 21 | 47985 min | 20.2 /90 | 00 /90 | 242.2 /90 | 151.4 /90 | 90.8 /90 | 90.8 /90 |
| Joao Klauss | 19 | 701321 min | 70.5 /90 | 00 /90 | 412.8 /90 | 171.2 /90 | 120.8 /90 | 120.8 /90 |
| C. Teuchert | 17 | 631072 min | 30.3 /90 | 10.1 /90 | 191.6 /90 | 110.9 /90 | 80.7 /90 | 80.7 /90 |
| Xande Silva | 5 | 28140 min | 00 /90 | 00 /90 | 21.3 /90 | 21.3 /90 | 21.3 /90 | 10.6 /90 |
| Brendan McSorley | 1 | 2626 min | 00 /90 | 00 /90 | 00 /90 | 00 /90 | 00 /90 | 13.5 /90 |
| See more players · Pro | ||||||||
| Player | Mins | Shots 1+2+ | Shots on target 1+2+ |
|---|---|---|---|
| M. Hartel n 8 | 87.6 | 1 | 0.3 |
| S. Becher n 8 | 60.9 | 1.8 | 1.1 |
| C. Wallem n 8 | 67.1 | 1 | 0.5 |
| Akil Watts n 8 | 74.5 | 0.8 | 0.6 |
| Joao Klauss n 8 | 77.1 | 3.6 | 1.2 |
| See more players · Pro | |||
| Player | Mins | Goals 1+2+ | Assists 1+2+ |
|---|---|---|---|
| M. Hartel n 8 | 87.6 | 0 | 0.4 |
| S. Becher n 8 | 60.9 | 0.2 | 0 |
| C. Wallem n 8 | 67.1 | 0 | 0 |
| Akil Watts n 8 | 74.5 | 0.2 | 0 |
| Joao Klauss n 8 | 77.1 | 0.9 | 0 |
| See more players · Pro | |||
Portland Timbers
Portland Timbers Goalkeeper
| Player | Apps | Avg mins | Saves | Goals conceded | Penalties saved |
|---|---|---|---|---|---|
| J. Pantemis | 12 | 901080 min | 494.1 /90 | 161.3 /90 | 30.3 /90 |
| Maxime Crépeau | 8 | 90720 min | 293.6 /90 | 121.5 /90 | 00 /90 |
| Player | Mins | Saves 2+3+ |
|---|---|---|
| J. Pantemis n 8 | 90 | 4 |
| Maxime Crépeau n 8 | 90 | 3.6 |
Portland Timbers Defensive
| Player | Apps | Avg mins | Tackles | Interceptions | Blocks | Duels won | Fouls committed | Yellow cards |
|---|---|---|---|---|---|---|---|---|
| F. Surman | 18 | 891596 min | 211.2 /90 | 120.7 /90 | 150.8 /90 | 673.8 /90 | 70.4 /90 | 10.1 /90 |
| J. Mosquera | 16 | 831320 min | 181.2 /90 | 50.3 /90 | 10.1 /90 | 523.5 /90 | 40.3 /90 | 00 /90 |
| J. Fory | 15 | 851278 min | 282 /90 | 191.3 /90 | 50.4 /90 | 805.6 /90 | 302.1 /90 | 80.6 /90 |
| K. Miller | 14 | 831168 min | 70.5 /90 | 171.3 /90 | 90.7 /90 | 382.9 /90 | 151.2 /90 | 40.3 /90 |
| D. Župarić | 7 | 84585 min | 101.5 /90 | 162.5 /90 | 30.5 /90 | 284.3 /90 | 91.4 /90 | 20.3 /90 |
| See more players · Pro | ||||||||
| Player | Mins | Fouls committed 1+2+ | Fouls won 1+2+ | Likely duel |
|---|---|---|---|---|
| David Pereira da Costa n 8 | 86.6 | 0.1 | 0.5 | M. Hartel |
| D. Ayala n 8 | 84.9 | 1.7 | 0.8 | C. Wallem |
| F. Surman n 8 | 90 | 0.3 | 0.3 | — |
| S. Moreno n 8 | 74.3 | 1.5 | 1.5 | — |
| Antony n 8 | 72.4 | 1.1 | 1.7 | — |
| See more players · Pro | ||||
| Player | Mins | Tackles 1+2+ |
|---|---|---|
| David Pereira da Costa n 8 | 86.6 | 0 |
| D. Ayala n 8 | 84.9 | 2.7 |
| F. Surman n 8 | 90 | 1.6 |
| S. Moreno n 8 | 74.3 | 1.7 |
| Antony n 8 | 72.4 | 1.6 |
| See more players · Pro | ||
Portland Timbers Attacking
| Player | Apps | Avg mins | Goals | Assists | Shots | Shots on target | Key passes | Dribbles completed |
|---|---|---|---|---|---|---|---|---|
| F. Mora | 18 | 581036 min | 50.4 /90 | 30.3 /90 | 141.2 /90 | 121 /90 | 111 /90 | 60.5 /90 |
| K. Kelsy | 18 | 48862 min | 50.5 /90 | 00 /90 | 141.5 /90 | 80.8 /90 | 70.7 /90 | 70.7 /90 |
| O. Fernandez | 6 | 39233 min | 00 /90 | 00 /90 | 10.4 /90 | 10.4 /90 | 10.4 /90 | 20.8 /90 |
| Jonathan Rodríguez | 5 | 27137 min | 10.7 /90 | 10.7 /90 | 63.9 /90 | 32 /90 | 21.3 /90 | 00 /90 |
| Gage Guerra | 1 | 3131 min | 00 /90 | 00 /90 | 12.9 /90 | 00 /90 | 00 /90 | 00 /90 |
| See more players · Pro | ||||||||
| Player | Mins | Shots 1+2+ | Shots on target 1+2+ |
|---|---|---|---|
| David Pereira da Costa n 8 | 86.6 | 0.9 | 0.4 |
| D. Ayala n 8 | 84.9 | 0.7 | 0.3 |
| F. Surman n 8 | 90 | 0.5 | 0.1 |
| S. Moreno n 8 | 74.3 | 1.8 | 1.1 |
| Antony n 8 | 72.4 | 3 | 1.6 |
| See more players · Pro | |||
| Player | Mins | Goals 1+2+ | Assists 1+2+ |
|---|---|---|---|
| David Pereira da Costa n 8 | 86.6 | 0.1 | 0.3 |
| D. Ayala n 8 | 84.9 | 0.1 | 0 |
| F. Surman n 8 | 90 | 0 | 0 |
| S. Moreno n 8 | 74.3 | 0.2 | 0.3 |
| Antony n 8 | 72.4 | 0.3 | 0 |
| 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
| St. Louis City | Portland Timbers | |
|---|---|---|
| 53% | Possession | 47% |
| 2.08 | Expected goals (xG) | 1.15 |
| 20 | Shots | 10 |
| 9 | Shots on target | 4 |
| 9 | Shots off target | 2 |
| 2 | Blocked shots | 4 |
| 11 | Shots inside the box | 6 |
| 4 | Corners | 3 |
| 3 | Offsides | 0 |
| 10 | Fouls | 9 |
| 2 | Yellow cards | 4 |
| 0 | Red cards | 0 |
| 3 | Saves | 7 |
| 539 | Passes | 483 |
| 88% | Pass accuracy | 89% |
St. Louis City Player Stats
| Player | Min | G | A | Sh | SoT | KP | Tkl | Cards | Rating |
|---|---|---|---|---|---|---|---|---|---|
| R. Burki | 90 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 6.6 |
| T. Totland | 90 | 0 | 0 | 1 | 1 | 2 | 0 | 0 | 7.2 |
| J. Girdwood-Reich | 90 | 0 | 0 | 0 | 0 | 0 | 5 | 0 | 6.9 |
| J. Yaro | 90 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 7.2 |
| C. Wallem | 90 | 0 | 1 | 2 | 1 | 3 | 1 | 0 | 7.6 |
| M. Hartel | 90 | 2 | 0 | 2 | 2 | 7 | 0 | 0 | 9.2 |
| Joao Klauss | 90 | 0 | 0 | 1 | 1 | 3 | 0 | Y | 7.2 |
| Jaziel Orozco | 89 | 0 | 0 | 0 | 0 | 1 | 2 | Y | 7.3 |
| C. Teuchert | 82 | 0 | 0 | 3 | 2 | 0 | 1 | 0 | 7.2 |
| Célio Pompeu | 67 | 0 | 0 | 1 | 0 | 1 | 4 | 0 | 7.5 |
| T. Ostrák | 66 | 0 | 0 | 2 | 1 | 1 | 2 | 0 | 7.2 |
| E. Lowen sub | 24 | 0 | 0 | 3 | 1 | 0 | 1 | 0 | 7 |
| S. Becher sub | 23 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 6.9 |
| Akil Watts sub | 8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 6.5 |
| K. Hiebert sub | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | – |
Portland Timbers Player Stats
| Player | Min | G | A | Sh | SoT | KP | Tkl | Cards | Rating |
|---|---|---|---|---|---|---|---|---|---|
| Maxime Crépeau | 90 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 8 |
| F. Surman | 90 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 6.6 |
| K. Miller | 90 | 0 | 0 | 0 | 0 | 0 | 0 | Y | 6.5 |
| J. Mosquera | 90 | 0 | 0 | 1 | 0 | 0 | 1 | Y | 6.5 |
| David Pereira da Costa | 90 | 1 | 0 | 4 | 4 | 2 | 0 | 0 | 7.2 |
| K. Kelsy | 90 | 0 | 0 | 0 | 0 | 0 | 0 | Y | 6.6 |
| D. Župarić | 75 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 6.5 |
| D. Ayala | 75 | 0 | 0 | 0 | 0 | 1 | 5 | 0 | 7.2 |
| J. Ortiz | 65 | 0 | 0 | 0 | 0 | 0 | 2 | Y | 6 |
| S. Moreno | 65 | 0 | 1 | 0 | 0 | 2 | 1 | 0 | 7.2 |
| J. Fory | 45 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 7 |
| Ian Smith sub | 45 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 6.9 |
| O. Fernandez sub | 25 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 6.5 |
| D. Chara sub | 25 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 7 |
| C. Paredes sub | 15 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 6.6 |
| Gage Guerra sub | 15 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 6.9 |
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 St. Louis City v Portland Timbers — recent results, past meetings and where each side sits. (TACTIX’s model forecast is in the projections below.)
- 2025-06-08 Portland Timbers 2–1 St. Louis City
- 2024-08-25 Portland Timbers 4–4 St. Louis City
- 2024-08-10 St. Louis City 3–1 Portland Timbers
- 2024-06-09 St. Louis City 0–0 Portland Timbers
- 2023-04-30 St. Louis City 1–2 Portland Timbers
- 2023-03-12 Portland Timbers 1–2 St. Louis City
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 St. Louis City and Portland Timbers?
- In their last 6 meetings, St. Louis City won 2, Portland Timbers won 2 and there were 2 draws, averaging 3.5 goals per game.
- What is the recent form of St. Louis City and Portland Timbers?
- Recent form — St. Louis City 0W 1D 4L; Portland Timbers 3W 1D 1L.
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.