St. Louis City vs Portland Timbers — Major League Soccer: stats, lineups & analysis
HighlightsMajor League SoccerYouTubeMatch Events
play_arrow5 clips- 42′Portland Timbers, goal:0–1assist
- 45+3′Portland Timbers, goal:0–2assist
- Half-time0 – 2
- 46′St. Louis City, substitution:off
- 48′Portland Timbers, goal:0–3assist
- 58′St. Louis City, goal:1–3assist
- 60′Portland Timbers, substitution:off
- 60′Portland Timbers, substitution:off
- 62′Portland Timbers, yellow card:
- 67′Portland Timbers, substitution:off
- 71′Portland Timbers, yellow card:
- 75′Portland Timbers, substitution:off
- 75′Portland Timbers, substitution:off
- 79′St. Louis City, substitution:off
- 79′St. Louis City, substitution:off
- 83′Portland Timbers, substitution:off
- 84′Portland Timbers, yellow card:
- 88′Portland Timbers, yellow card:
- 90+1′St. Louis City, goal:2–3assist
- 90+6′Portland Timbers, second yellow card:
- Full-time2 – 3
Lineups
Tap a player for match statsKey Stats
Top Performers
Best rated
Goals
Assists
Videos
Player Ratings
St. Louis City
Portland Timbers
Match report
Portland Timbers hold on to beat St. Louis City after late scare
Portland Timbers won 3-2 at St. Louis City in Major League Soccer on Matchday 32, surviving a late fightback at Citypark. The visitors, who began the night 23rd, led 3-0 within three minutes of the restart before the hosts hauled themselves back into the contest.
AI-assisted match report written from official match data.
Nothing separated the sides until the 42nd minute, when Kristoffer Velde finished from Cole Bassett's pass. David Da Costa doubled the lead in first-half stoppage time (45+3), set up by Jimer Fory, and Velde struck again in the 48th minute from a Da Costa assist to make it 3-0.
St. Louis City answered in the 58th minute when Daniel Edelman scored from Carlo Holse's assist, and Rafael Navarro made it 2-3 in the 90th minute plus one, Jeong Sang-Bin providing the pass. Portland were reduced to ten men when Kamal Miller was sent off in the 90th minute plus six, but held on.
Oddsivio's pre-match forecast had given Portland Timbers a 14% chance of winning. The result lifted Portland to 20th on 40 points, while St. Louis City stayed seventh on 51. St. Louis City host San Diego on Saturday, and Portland entertain Houston Dynamo next in the league.
David Da Costa scored once and set up Velde's second goal, earning the match's top rating of 8.76. Velde's two goals were enough for a rating of 8.50.
The hosts had 60% of the possession but still lost, with Portland drawing level on shots on target at six apiece.
Portland Timbers won 3–2 away against St. Louis City (half-time 0–2).
St. Louis City met Portland Timbers in the Major League Soccer (Regular Season - 32). Kick-off was Thursday, 29 October 2026, 00:30 UTC at CITYPARK. Referee: Rubiel Vazquez. Attendance: 22,423.
Team pages: St. Louis City · Portland Timbers · Major League Soccer
Key moments
- 42' Goal: Kristoffer Velde (assist: Cole Bassett) — 0–1 · Watch Kristoffer Velde's goal video (42')
- 45+3' Goal: David Da Costa (assist: Jimer Fory) — 0–2 · Watch David Da Costa's goal video (45+3')
- 48' Goal: Kristoffer Velde (assist: David Da Costa) — 0–3 · Watch Kristoffer Velde's goal video (48')
- 58' Goal: Daniel Edelman (assist: Carlo Holse) — 1–3 · Watch Daniel Edelman's goal video (58')
- 90+1' Goal: Rafael Navarro (assist: Jeong Sang-Bin) — 2–3 · Watch Rafael Navarro's goal video (90+1')
Starting line-ups
St. Louis City (3-4-1-2)
Portland Timbers (4-3-3)
Sirius · Why these numbers
Before kick-off Sirius gave St. Louis City 63%, the draw 23%, Portland Timbers 14%. It finished St. Louis City 2–3 Portland Timbers.
Strength rating puts St. Louis City clearly ahead — We give St. Louis City 63% mainly because they sit 115 points higher on our strength rating, 1562 to 1448, and home sides in Major League Soccer tend to do better than the global norm. The draw sits at 23%, a little under the usual 25% for a gap this size, because both teams' own recent games average 3.7 goals.
Why St. Louis City at 63%?
St. Louis City sit 115 points higher on our strength rating — 1562 to 1448. Sides with a 80–160-point rating edge at home won 56.5% of 14,351 such games. Major League Soccer home sides out-perform the global norm — and the difference mostly flows to away wins (25.7% vs 30.0%). Major League Soccer homes won 49.1% of 5,268 games vs 44.6% across all 108,079 — outside the noise band, so the tally moves accordingly. The 300 most similar past games finished 52–28–20.
Why only 63%?
No scored evidence points the other way. 63% is what this rating gap has been worth in games like these; the rest is the draw at 23% and Portland Timbers at 14%.
Why is the draw only 23%?
With a rating gap this size the draw starts at 25.0%. These teams' recent games average 3.7 goals — a high-scoring environment. Games in that environment drew 23.2% of 18,464. The goals environment takes 2.1 points off the draw.
What did we measure but not count?
St. Louis City scored +0.79 goals per game beyond chance-quality lately — hot streaks like that have cooled off. Measured across 3,181 games at this rating gap, hot-finishing sides won 41.1% vs 42.3% class-expected — inside the noise band, so it scores 0 until the receipt clears its evidence bar. St. Louis City are unbeaten in their last 11 home Major League Soccer games: 8 wins and 3 draws. The run began on 14 May 2026. Last recorded home league defeat: 26 April 2026 — St. Louis City 2–3 San Jose Earthquakes. Latest home league result: 15 October 2026 — St. Louis City 0–0 Vancouver Whitecaps. Across 16,128 historical matches following an unbeaten home league run of at least six games, hosts won 55.4%, compared with 54.5% expected from team strength. The other measured facts on this page scored nothing either.
Sirius probabilities, frozen at kick-off. Analysis, not betting advice. How Sirius is doing this season · Full breakdown, evidence cards and squad news in the Match Insights tab
About this match
On this page: the St. Louis City vs Portland Timbers final score and result, goal highlights and video clips of every goal, who scored, starting lineups, match stats and the full match report from this Major League Soccer fixture.
- Who scored and when — a goal-by-goal timeline of the match.
- Match stats — possession, shots, expected goals (xG), corners and cards.
- Starting lineups and player ratings for both teams.
- Head-to-head record and recent form for both sides.
- Watch Kristoffer Velde's goal against St. Louis City (42').
- Watch David Da Costa's goal against St. Louis City (45+3').
- Watch Kristoffer Velde's goal against St. Louis City (48').
- Watch Daniel Edelman's goal against Portland Timbers (58').
- Watch Rafael Navarro's goal against Portland Timbers (90+1').
Watch the goals: goal highlights and video clips of every goal from St. Louis City 2–3 Portland Timbers. Explore more on the St. Louis City and Portland Timbers team pages or the Major League Soccer page.

