St. Louis City v Portland Timbers result
Team pages: St. Louis City · Portland Timbers · Head-to-head
The model’s pre-match pick
St. Louis City 2–3 Portland Timbers — Portland Timbers won this Major League Soccer match. TACTIX’s pre-match model pick was Home win.
The result
Portland Timbers won 3–2 at CITYPARK in Major League Soccer on Thursday 29 October. Expected goals (xG) tell a different story: St. Louis City out-shot Portland Timbers 13 to 12 and created the better chances, 1.98 xG to 1.20 (the provider’s expected goals for this match). Variance.
The goals
Portland Timbers led 2–0 at half-time. The goals — Portland Timbers: K. Velde (42’, assisted by C. Bassett; 48’, assisted by David Pereira da Costa) and David Pereira da Costa (45+3’, assisted by J. Fory); St. Louis City: D. Edelman (58’, assisted by C. Holse) and Rafael Navarro (90+1’, assisted by Jeong Sang-Bin). K. Miller (90+6’) was sent off.
How it turned
Replaying TACTIX’s published pre-match model through the match’s six key moments (goals and red cards), the biggest swing came with David Pereira da Costa’s goal on 45+3’.
Discipline
R. Vazquez showed three yellow cards and one red — against 3.6 yellows a game across the last 5 matches refereed (all competitions).
What it changes
St. Louis City have scored 58 goals, the 11th-most of the 30 clubs (2026 so far, after 33 games). St. Louis City have conceded 48 goals, the ninth-fewest (shared) of the 30 clubs.
Portland Timbers have scored 60 goals, the ninth-most of the 30 clubs (2026 so far, after 33 games). Portland Timbers have conceded 61 goals, the ninth-most of the 30 clubs.
St. Louis City are winless in their last five matches in all competitions. Portland Timbers are unbeaten in their last three matches in all competitions.
Who stood out
By TACTIX Impact for this match, David Pereira da Costa (Portland Timbers) 11.5, K. Velde (Portland Timbers) 11.0 and C. Holse (St. Louis City) 7.7 led the match.
What the model said
The model’s free pick, St. Louis City to win, did not land — graded in the live track record, misses included.
Next up
St. Louis City next travel to Houston Dynamo on 8 November 2026.
Portland Timbers next travel to Austin on 8 November 2026.
Written from the matches TACTIX holds for both sides; each figure names the games it is counted over.
Next for St. Louis City: Houston Dynamo v St. Louis City, Sunday 8 November — the preview. Next for Portland Timbers: Austin v Portland Timbers, Sunday 8 November — the preview.
The Numbers
- Result: St. Louis City 2–3 Portland Timbers · Major League Soccer
- Venue: CITYPARK · St. Louis, Missouri
- Referee: R. Vazquez
- Model coverage: 246 markets priced for this fixture
- Head-to-head (last 6): St. Louis City 2 · draws 3 · Portland Timbers 1 · 3.67 goals/game
- Recent form: St. Louis City 1W 2D 2L · Portland Timbers 1W 2D 2L
St. Louis City 2–3 Portland Timbers (Major League Soccer): this fixture is settled. TACTIX’s pre-match coverage ran across 246 markets, and every graded call — wins and losses — is in the live track record (as of 6 November 2026). See the live track record →
Key Stats
Per game, last 8 completed matches, to 25 October 2026. Over/under figures use standard thresholds, not bookmaker lines.
| Per game | St. Louis City for / against | Line | Portland Timbers for / against |
|---|---|---|---|
| Goals scored | 2.13 for · 1.13 against n 8 Last 5 | 3.5our book | 1.25 for · 1.88 against n 8 Last 5 |
| Corners won | 4.17 for · 5.67 against n 6 Last 5 | 9.5standard | 5.5 for · 4 against n 8 Last 5 |
| Shots | 11.5 for · 17 against n 6 Last 5 | 19.5standard | 16.13 for · 9.75 against n 8 Last 5 |
| Shots on target | 5.67 for · 5.5 against n 6 Last 5 | 8.5standard | 5.13 for · 4.25 against n 8 Last 5 |
| Fouls committed | 14.33 for · 12.83 against n 6 Last 5 | 21.5standard | 9.5 for · 13.5 against n 8 Last 5 |
| Cards shown | 2.17 for · 1.83 against n 6 Last 5 | 3.5standard | 1.25 for · 2 against n 8 Last 5 |
Referee: R. Vazquez.
St. Louis City
St. Louis City Goalkeeper
| Player | Apps | Avg mins | Saves | Goals conceded | Penalties saved |
|---|---|---|---|---|---|
| R. Burki | 28 | 912547 min | 742.6 /90 | 391.4 /90 | 00 /90 |
| B. Lundt | 3 | 90270 min | 72.3 /90 | 20.7 /90 | 00 /90 |
| Player | Mins | Saves 2+3+ |
|---|---|---|
| R. Burki n 8 | 90 | 2.6 |
| B. Lundt n 8 | 90 | 3 |
St. Louis City Defensive
| Player | Apps | Avg mins | Tackles | Interceptions | Blocks | Duels won | Fouls committed | Yellow cards |
|---|---|---|---|---|---|---|---|---|
| T. Baumgartl | 31 | 912817 min | 451.4 /90 | 361.2 /90 | 210.7 /90 | 1003.2 /90 | 210.7 /90 | 30.1 /90 |
| D. Polvara | 30 | 852538 min | 552 /90 | 461.6 /90 | 230.8 /90 | 1354.8 /90 | 260.9 /90 | 40.1 /90 |
| Jaziel Orozco | 17 | 831409 min | 402.6 /90 | 291.9 /90 | 50.3 /90 | 694.4 /90 | 291.9 /90 | 40.3 /90 |
| L. MacNaughton | 17 | 671132 min | 231.8 /90 | 171.4 /90 | 70.6 /90 | 665.2 /90 | 231.8 /90 | 10.1 /90 |
| F. Fall | 12 | 66796 min | 212.4 /90 | 111.2 /90 | 101.1 /90 | 546.1 /90 | 121.4 /90 | 30.3 /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 |
|---|---|---|---|---|
| T. Baumgartl n 8 | 90 | 1 | 0.9 | J. Fory |
| D. Polvara n 8 | 75.6 | 0.7 | 1.2 | J. Fory |
| S. Becher n 8 | 50.6 | 1.3 | 1.6 | — |
| D. Edelman n 8 | 71 | 1.1 | 1.6 | — |
| R. Burki n 8 | 90 | 0 | 0 | — |
| See more players · Pro | ||||
| Player | Mins | Tackles 1+2+ |
|---|---|---|
| T. Baumgartl n 8 | 90 | 1.8 |
| D. Polvara n 8 | 75.6 | 2.5 |
| S. Becher n 8 | 50.6 | 0.2 |
| D. Edelman n 8 | 71 | 0.8 |
| C. Durkin n 8 | 74.5 | 2.3 |
| See more players · Pro | ||
St. Louis City Attacking
| Player | Apps | Avg mins | Goals | Assists | Shots | Shots on target | Key passes | Dribbles completed |
|---|---|---|---|---|---|---|---|---|
| S. Becher | 30 | 722159 min | 90.4 /90 | 40.2 /90 | 562.3 /90 | 281.2 /90 | 220.9 /90 | 170.7 /90 |
| Jeong Sang-Bin | 18 | 571027 min | 30.3 /90 | 10.1 /90 | 161.4 /90 | 90.8 /90 | 211.8 /90 | 90.8 /90 |
| M. Hartel | 16 | 871398 min | 60.4 /90 | 30.2 /90 | 463 /90 | 251.6 /90 | 463 /90 | 100.6 /90 |
| E. Lowen | 10 | 62617 min | 20.3 /90 | 20.3 /90 | 121.8 /90 | 30.4 /90 | 111.6 /90 | 91.3 /90 |
| C. Holse | 10 | 56558 min | 61 /90 | 10.2 /90 | 203.2 /90 | 121.9 /90 | 132.1 /90 | 40.6 /90 |
| See more players · Pro | ||||||||
| Player | Mins | Shots 1+2+ | Shots on target 1+2+ |
|---|---|---|---|
| T. Baumgartl n 8 | 90 | 0.1 | 0 |
| D. Polvara n 8 | 75.6 | 0.6 | 0.1 |
| S. Becher n 8 | 50.6 | 2.9 | 2 |
| D. Edelman n 8 | 71 | 0.2 | 0.2 |
| R. Burki n 8 | 90 | 0 | 0 |
| See more players · Pro | |||
| Player | Mins | Goals 1+2+ | Assists 1+2+ |
|---|---|---|---|
| T. Baumgartl n 8 | 90 | 0 | 0 |
| D. Polvara n 8 | 75.6 | 0 | 0 |
| S. Becher n 8 | 50.6 | 0.7 | 0 |
| D. Edelman n 8 | 71 | 0.2 | 0.2 |
| R. Burki n 8 | 90 | 0 | 0 |
| See more players · Pro | |||
Portland Timbers
Portland Timbers Goalkeeper
| Player | Apps | Avg mins | Saves | Goals conceded | Penalties saved |
|---|---|---|---|---|---|
| J. Pantemis | 31 | 912828 min | 1203.8 /90 | 531.7 /90 | 10 /90 |
| T. Muse | 2 | 90180 min | 31.5 /90 | 42 /90 | 00 /90 |
| Player | Mins | Saves 2+3+ |
|---|---|---|
| J. Pantemis n 8 | 90.6 | 2.4 |
Portland Timbers Defensive
| Player | Apps | Avg mins | Tackles | Interceptions | Blocks | Duels won | Fouls committed | Yellow cards |
|---|---|---|---|---|---|---|---|---|
| J. Fory | 31 | 832569 min | 562 /90 | 622.2 /90 | 90.3 /90 | 1304.6 /90 | 341.2 /90 | 50.2 /90 |
| F. Surman | 29 | 902603 min | 441.5 /90 | 441.5 /90 | 491.7 /90 | 1184.1 /90 | 140.5 /90 | 20.1 /90 |
| K. Miller | 26 | 802086 min | 231 /90 | 251.1 /90 | 160.7 /90 | 773.3 /90 | 241 /90 | 50.2 /90 |
| B. Bye | 22 | 861883 min | 311.5 /90 | 211 /90 | 50.2 /90 | 1065.1 /90 | 201 /90 | 50.2 /90 |
| Ian Smith | 17 | 33565 min | 162.5 /90 | 101.6 /90 | 61 /90 | 467.3 /90 | 101.6 /90 | 30.5 /90 |
| See more players · Pro | ||||||||
| Player | Mins | Fouls committed 1+2+ | Fouls won 1+2+ | Likely duel |
|---|---|---|---|---|
| K. Velde n 8 | 90.3 | 1 | 3.4 | — |
| J. Pantemis n 8 | 90.6 | 0 | 0 | — |
| J. Fory n 8 | 78.6 | 1 | 1 | D. Polvara |
| David Pereira da Costa n 8 | 79.5 | 0.8 | 1 | — |
| F. Surman n 8 | 91.3 | 0.5 | 0.6 | — |
| See more players · Pro | ||||
| Player | Mins | Tackles 1+2+ |
|---|---|---|
| K. Velde n 8 | 90.3 | 1.5 |
| J. Fory n 8 | 78.6 | 1.9 |
| David Pereira da Costa n 8 | 79.5 | 1.3 |
| F. Surman n 8 | 91.3 | 1.2 |
| Antony n 8 | 38.5 | 1.8 |
| See more players · Pro | ||
Portland Timbers Attacking
| Player | Apps | Avg mins | Goals | Assists | Shots | Shots on target | Key passes | Dribbles completed |
|---|---|---|---|---|---|---|---|---|
| Antony | 29 | 561634 min | 40.2 /90 | 30.2 /90 | 281.5 /90 | 130.7 /90 | 241.3 /90 | 251.4 /90 |
| A. Lassiter | 26 | 581502 min | 100.6 /90 | 40.2 /90 | 321.9 /90 | 201.2 /90 | 251.5 /90 | 140.8 /90 |
| K. Kelsy | 20 | 701402 min | 90.6 /90 | 30.2 /90 | 412.6 /90 | 161 /90 | 191.2 /90 | 80.5 /90 |
| A. Aravena | 14 | 35489 min | 10.2 /90 | 00 /90 | 132.4 /90 | 71.3 /90 | 50.9 /90 | 101.8 /90 |
| V. Janssen | 11 | 57631 min | 40.6 /90 | 00 /90 | 121.7 /90 | 81.1 /90 | 121.7 /90 | 71 /90 |
| See more players · Pro | ||||||||
| Player | Mins | Shots 1+2+ | Shots on target 1+2+ |
|---|---|---|---|
| K. Velde n 8 | 90.3 | 3.4 | 1.1 |
| J. Pantemis n 8 | 90.6 | 0 | 0 |
| J. Fory n 8 | 78.6 | 0.1 | 0.1 |
| David Pereira da Costa n 8 | 79.5 | 0.6 | 0.6 |
| F. Surman n 8 | 91.3 | 0.1 | 0.1 |
| See more players · Pro | |||
| Player | Mins | Goals 1+2+ | Assists 1+2+ |
|---|---|---|---|
| K. Velde n 8 | 90.3 | 0.2 | 0 |
| J. Pantemis n 8 | 90.6 | 0 | 0 |
| J. Fory n 8 | 78.6 | 0 | 0.1 |
| David Pereira da Costa n 8 | 79.5 | 0.3 | 0.1 |
| F. Surman n 8 | 91.3 | 0.1 | 0 |
| See more players · Pro | |||
The next free picks, by email
The pick on this page was published before kick-off and graded afterwards. The daily email carries the next ones at 07:30 UK, each with its tier’s settled record, misses included. One click to leave.
Match Statistics & Details
| St. Louis City | Portland Timbers | |
|---|---|---|
| 61% | Possession | 39% |
| 1.98 | Expected goals (xG) | 1.20 |
| 13 | Shots | 12 |
| 6 | Shots on target | 6 |
| 3 | Shots off target | 4 |
| 4 | Blocked shots | 2 |
| 10 | Shots inside the box | 10 |
| 5 | Corners | 4 |
| 3 | Offsides | 1 |
| 15 | Fouls | 12 |
| 0 | Yellow cards | 3 |
| 0 | Red cards | 1 |
| 3 | Saves | 4 |
| 444 | Passes | 290 |
St. Louis City Player Stats
| Player | Min | G | A | Sh | SoT | KP | Tkl | Cards | Rating |
|---|---|---|---|---|---|---|---|---|---|
| B. Lundt | 90 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 5.7 |
| T. Baumgartl | 90 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 6.4 |
| L. MacNaughton | 90 | 0 | 0 | 2 | 0 | 0 | 1 | 0 | 6.4 |
| D. Polvara | 90 | 0 | 0 | 2 | 2 | 0 | 0 | 0 | 7 |
| C. Wallem | 90 | 0 | 0 | 0 | 0 | 2 | 2 | 0 | 6.6 |
| C. Durkin | 90 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 6.7 |
| C. Holse | 90 | 0 | 1 | 1 | 1 | 4 | 4 | 0 | 7.6 |
| Rafael Navarro | 90 | 1 | 0 | 3 | 1 | 2 | 0 | 0 | 7.5 |
| D. Edelman | 79 | 1 | 0 | 2 | 1 | 1 | 1 | 0 | 7.5 |
| T. Totland | 79 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 6.3 |
| Jeong Sang-Bin | 45 | 0 | 1 | 0 | 0 | 2 | 0 | 0 | 6.8 |
| D. Downs | 45 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 6 |
| F. Fall | 11 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 6 |
| S. Becher | 11 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 6.2 |
Portland Timbers Player Stats
| Player | Min | G | A | Sh | SoT | KP | Tkl | Cards | Rating |
|---|---|---|---|---|---|---|---|---|---|
| K. Miller | 96 | 0 | 0 | 0 | 0 | 0 | 1 | R | 5.7 |
| R. Hernandez | 90 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 6.2 |
| J. Waterman | 90 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 5.9 |
| David Pereira da Costa | 90 | 1 | 1 | 2 | 2 | 6 | 1 | 0 | 9 |
| J. Pantemis | 90 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 6 |
| K. Velde | 83 | 2 | 0 | 3 | 3 | 1 | 2 | 0 | 9.1 |
| D. Chara | 75 | 0 | 0 | 0 | 0 | 1 | 4 | 0 | 5.8 |
| A. Lassiter | 75 | 0 | 0 | 1 | 0 | 2 | 0 | 0 | 6.4 |
| J. Fory | 67 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 6.5 |
| J. Ortiz | 60 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 6 |
| C. Bassett | 60 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 6.5 |
| A. Aravena | 30 | 0 | 0 | 2 | 1 | 0 | 0 | 0 | 6.6 |
| Eric Izoita | 30 | 0 | 0 | 0 | 0 | 0 | 0 | Y | 5.8 |
| Ian Smith | 23 | 0 | 0 | 0 | 0 | 0 | 0 | Y | 5.7 |
| J. Caicedo | 15 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 6.1 |
| V. Janssen | 15 | 0 | 0 | 0 | 0 | 0 | 1 | Y | 6.3 |
| F. Surman | 7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 6.2 |
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.)
- 2026-09-10 Portland Timbers 2–2 St. Louis City
- 2025-07-13 St. Louis City 2–1 Portland Timbers
- 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
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 was the model’s pick for St. Louis City v Portland Timbers?
- TACTIX’s free model pick for St. Louis City v Portland Timbers was Home win (best price 2.05 at Betano).
- 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 1 and there were 3 draws, averaging 3.67 goals per game.
- What is the recent form of St. Louis City and Portland Timbers?
- Recent form — St. Louis City 1W 2D 2L; Portland Timbers 1W 2D 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.