
Portland Timbers 3-1 Houston Dynamo: result and stats, Major League Soccer
- David Da Costa25'
- Kristoffer Velde65'
- Vincent Janssen78'
- 71'Agustín Bouzat
Portland Timbers

Substitutions
- 62'Eric Izoita
736.2C. Bassett
176.4 - 82'V. Janssen
148.7A2A. Aravena
286.8 - 82'A. Lassiter
77.0O. Fernandez
226.7 - 90'J. Caicedo
305.8J. Ortiz
806.4 - 90'David Pereira da Costa
108.3AD. Chará
216.0
Unused
- Andrew GuerraF
88 - S. JuraD
16 - E. MillerD
15 - H. SulteG
26
Juan GuerraSubstitutions
- 36'
- 66'L. Foster
96.5D. McGuire
236.7A - 66'A. Ibrahim
245.2Felipe Andrade
365.9 - 66'
Unused
- Antônio CarlosD
3 - Logan ErbG
35 - B. GillinghamG
265.9 - N. Markanich83'F
176.5 - G. RiveraM
37
Home

OutAntonyKnee Injury
OutA. BonetigShoulder Injury
OutB. ByeLeg Injury
OutJ. ForyConcussion
OutZ. McGrawBack Injury
OutK. MillerRed Card
OutJ. MosqueraFoot Injury
OutT. MuseConcussion
Away

OutGuilhermeLower-Body Injury
OutH. HerreraLower-Body Injury
OutJ. MaurerBack Injury
OutM. SaracchiLower-Body Injury

Player of the match
Highest-rated players




xG race
24 shotsChance quality as it built up. A steep step is a big chance.
How those chances were made
Shot map
16 v 8Portland Timbers shoot right, Houston Dynamo left. Bigger dot = better chance.
Goal mouth
14 on target · 4 scoredWhere each shot on target crossed the line. Placement beats power.
Shot duel
Janssen's 78' chance was the biggest of the match: 0,81 xG, scored.
Every shot on its minute, Portland Timbers above and Houston Dynamo below. The longer the bar, the bigger the chance. Faces on goals and on chances of 0,3 xG or more.
xG analytics
Portland Timbers
Houston DynamoExpected goals weighs every shot by the historic conversion rate of similar chances. Higher xG means better scoring opportunities, regardless of whether they went in.
Momentum
22 swingsWhich side was on top, minute by minute. A taller bar is heavier pressure.
Match replay
91'
3-1
90' Off target Omir Fernandez 0.06 xG · Regular play · Right footAverage positions
Each starter's average position on the ball, with the number of those actions inside the chip. Both sides attack left to right. Tap a player to see where they actually were.
An average, not a movement map: it says where a player's actions balanced out, not where they ran.
Passing network
Each player at his average position, sized by passes made. Lines join team-mates with 5 or more passes between them (fewer when a side made its first change early), thicker for more. Counted until each side's first substitution. Both sides attack left to right. Tap a player to isolate his links.
Most-connected pair: Waterman and Surman, 36 passes between them.
Most-connected pair: Artur and Halter, 13 passes between them.
Tactical battle
61control39

In possession
Field tilt is each side's share of play in the final third.
Out of possession
↓ Lower is better, so the longer bar always wins. PPDA is opponent passes allowed per defensive action.
Carrying
Distances are how far the ball was moved forward, not how far anybody ran.
Beating the press
A take-on is a player going past an opponent with the ball at his feet.
Threat created
xT values where a possession reached; VAEP values every action by how much it shifted the chance of a goal.
Tempo
An attack is direct when it moves upfield quickly rather than through many passes.
The moment that decided it
The goal that swung the win probability the most. Press play to replay the move, touch by touch.
- Score
- 0–0→1–0
- Portland Timbers win chance
- 49%→82%
- xG of the shot
- 0.11
- Touches in the move
- 3
- 1D. Da Costa›
- 2V. Janssenassist›
- 3D. Da CostaLeft foot
Possession & Passing
Attack
Box & Quality
Defense & Discipline
Half by half
The same match, split at the break. Which half did each side actually win?
First half
Second half
More match stats
Attack
Passing
Duels
Defending
Match summary
Portland Timbers beat Houston Dynamo 3-1 at Providence Park in the Major League Soccer. Portland Timbers led 1-0 at half-time. Scorers: David Da Costa (25'), Kristoffer Velde (65'), Vincent Janssen (78') for Portland Timbers; Agustín Bouzat (71') for Houston Dynamo. In their last 30 meetings, Portland Timbers have won 12, Houston Dynamo 9, with 9 drawn. Full match stats, lineups and player ratings are all on this page.
→ Double chance: Portland Timbers or draw
Why this prediction
The factors the model weighed, each split between the two sides.
Who will win?
Cast your vote!
Goal profile
This seasonHow often each side reaches a scoreline, across 34 matches each.
They score
They concede
Heaviest results
best 6-0 (H)·worst 1-4 (H)
best 3-0 (H)·worst 2-6 (A)
Venue spotlight
Head-to-headLast 30 meetings
- 2 Nov 2026
Portland Timbers3 - 1Houston Dynamo
Major League Soccer - 15 Mar 2026
Houston Dynamo3 - 2Portland Timbers
Major League Soccer - 21 Sept 2025
Houston Dynamo1 - 0Portland Timbers
Major League Soccer - 30 Mar 2025
Portland Timbers3 - 1Houston Dynamo
Major League Soccer - 2 Jun 2024
Portland Timbers2 - 2Houston Dynamo
Major League Soccer - 17 Mar 2024
Houston Dynamo1 - 0Portland Timbers
Major League Soccer
Show 24 earlier meetingsHide earlier meetings
- 22 Oct 2023
Portland Timbers1 - 3Houston Dynamo
Major League Soccer - 21 Aug 2023
Houston Dynamo5 - 0Portland Timbers
Major League Soccer - 30 Jun 2022
Portland Timbers2 - 1Houston Dynamo
Major League Soccer - 16 Apr 2022
Houston Dynamo0 - 0Portland Timbers
Major League Soccer - 4 Sept 2021
Houston Dynamo0 - 2Portland Timbers
Major League Soccer - 24 Jun 2021
Houston Dynamo2 - 2Portland Timbers
Major League Soccer - 25 Apr 2021
Portland Timbers2 - 1Houston Dynamo
Major League Soccer - 19 Jul 2020
Portland Timbers2 - 1Houston Dynamo
Major League Soccer - 23 Jun 2019
Portland Timbers4 - 0Houston Dynamo
Major League Soccer - 16 May 2019
Houston Dynamo1 - 1Portland Timbers
Major League Soccer - 16 Sept 2018
Houston Dynamo4 - 1Portland Timbers
Major League Soccer - 29 Jul 2018
Portland Timbers2 - 1Houston Dynamo
Major League Soccer - 6 Nov 2017
Portland Timbers1 - 2Houston Dynamo
Major League Soccer - 31 Oct 2017
Houston Dynamo0 - 0Portland Timbers
Major League Soccer - 30 Jul 2017
Houston Dynamo2 - 2Portland Timbers
Major League Soccer - 19 Mar 2017
Portland Timbers4 - 2Houston Dynamo
Major League Soccer - 25 Sept 2016
Houston Dynamo3 - 1Portland Timbers
Major League Soccer - 26 Jun 2016
Portland Timbers3 - 2Houston Dynamo
Major League Soccer - 22 Aug 2015
Portland Timbers2 - 2Houston Dynamo
Major League Soccer - 21 Jun 2015
Portland Timbers2 - 0Houston Dynamo
Major League Soccer - 17 May 2015
Houston Dynamo3 - 1Portland Timbers
Major League Soccer - 27 Apr 2014
Houston Dynamo1 - 1Portland Timbers
Major League Soccer - 7 Apr 2013
Portland Timbers2 - 0Houston Dynamo
Major League Soccer - 16 May 2012
Houston Dynamo0 - 0Portland Timbers
Major League Soccer





























