Moneyball OddsDixon-Coles · xG fusion
Back to Moneyball Odds

Portland Timbers 3-1 San Diego: Match Report, Goals, Stats and Ratings

Full time: Portland Timbers 3-1 San Diego

Portland Timbers beat San Diego 3-1 in MLS on Thursday 20 August 2026 at Providence Park. The goals: Kristoffer Velde 29', Gabriel Pirani 45+1', Ariel Lassiter 51', David Da Costa 68'.

How Portland Timbers won it

Portland Timbers struck first through Kristoffer Velde in the 29th minute, set up by Cole Bassett. San Diego levelled at 1-1 in the 45th minute (+1) through Gabriel Pirani, set up by Lewis Morgan. Ariel Lassiter made it 2-1 to Portland Timbers in the 51st minute, set up by Jimer Fory. David Da Costa made it 3-1 to Portland Timbers in the 68th minute, set up by Kristoffer Velde.

It was 1-1 at half-time, and the second half changed the result.

The referee, R. Vazquez, showed 3 yellow cards: 2 to Portland Timbers and 1 to San Diego.

Portland Timbers: M. Cifuentes Corvillo, 4-2-3-1 · San Diego: M. Varas, 4-3-3.

Moneyball's prediction against the result

Moneyball did not publish a pre-match estimate for this match, so there is nothing to mark it against.

Why it went this way

On the day the expected goals were 1.96 for Portland Timbers and 1.49 for San Diego.

Portland Timbers scored about 1.0 more than their chances were worth: clinical finishing, or a goalkeeper having a bad day.

Portland Timbers had 5 shots on target, San Diego 6.

Portland Timbers's goalkeeper made 5 saves.

San Diego had 70% of the ball, but Portland Timbers took the points.

Where the two sides stood before this match

Portland Timbers came into it with 31 MLS matches played, scoring 1.7 and conceding 1.9 a match, with 1.51 expected goals for and 1.40 against, and had won 32% of their matches.

San Diego came into it with 31 MLS matches played, scoring 1.8 and conceding 1.9 a match, with 1.68 expected goals for and 1.46 against, and had won 26% of their matches.

Portland Timbers vs San Diego: the match in numbers

Portland TimbersMatch statisticsSan Diego
30%Ball possession70%
1.96Expected goals (xG)1.49
11Total shots21
5Shots on target6
3Big chances1
321Total passes743
83%Pass accuracy92%
0Corners7
15Fouls11
3Offsides1
17Tackles20
5Saves2
2Yellow cards1

Team statistics from Sportmonks.

Player ratings and man of the match

Man of the match: Kristoffer Velde (Portland Timbers), rated 7.8 by Sportmonks, with 1 goal, 1 assist.

Portland Timbers

San Diego

The lowest-rated starter was CJ dos Santos at 6.0. Ratings run from 0 to 10; around 7.0 is a solid match.

What comes next

Each preview has Moneyball's estimate for the next match, published before kick-off and marked against the result afterwards, as this one is.

Questions about Portland Timbers vs San Diego

What was the score in Portland Timbers vs San Diego?

Portland Timbers 3-1 San Diego (half-time 1-1), MLS, Thursday 20 August 2026.

Who scored in Portland Timbers vs San Diego?

Kristoffer Velde 29', Gabriel Pirani 45+1', Ariel Lassiter 51', David Da Costa 68'.

Did Moneyball predict Portland Timbers vs San Diego correctly?

Moneyball did not publish a pre-match estimate for this match, so there is nothing to mark it against.

Who was man of the match in Portland Timbers vs San Diego?

Kristoffer Velde, rated 7.8 by Sportmonks.

Who refereed Portland Timbers vs San Diego?

R. Vazquez.

Every match, before and after

Moneyball Odds writes a preview with its estimate before every match of Europe's top five leagues and the European cups, then marks it against the result, hits and misses alike.

Open Moneyball Odds Match Live All match reports

Moneyball Odds is a statistical analysis site, not a bookmaker. No model predicts football reliably. For readers aged 18 and over.