San Diego FC vs Portland Timbers: April 25, 2026
Portland Timbers beat San Diego FC 2-1 at Snapdragon Stadium, San Diego, California on April 25, 2026 (2026 MLS).
Score by half
| Team | 1st half | 2nd half | Final |
|---|---|---|---|
| San Diego FC | 1 | 0 | 1 |
| Portland Timbers | 1 | 1 | 2 |
Goals
- 26′ Portland Timbers: Kevin Kelsy
- 33′ San Diego FC: Anders Dreyer (penalty)
- 90+6′ Portland Timbers: Alex Bonetig
Match statistics
| Statistic | San Diego FC | Portland Timbers |
|---|---|---|
| Expected goals (xG) | 1.4 | 1.1 |
| Shots | 10 | 10 |
| Shots on target | 3 | 5 |
| Big chances | 3 | 3 |
| Possession % | 66.8 | 33.2 |
| Passes | 743 | 361 |
| Corners | 6 | 6 |
| Fouls | 12 | 10 |
| Yellow cards | 2 | 1 |
| Red cards | 0 | 0 |
| Saves | 4 | 2 |
What stood out
- Expected goals: San Diego FC 1.4, Portland Timbers 1.1.
- Managers: Mikey Varas (San Diego FC), Phil Neville (Portland Timbers).
Player lines
- Alex Bonetig (POR): 100 MIN, 1 G, 0 A, 1 SH, 1 SOT, 0.1 xG, 0 xA, 0 YC, 0 RC
- Alexander Aravena (POR): 73 MIN, 0 G, 0 A, 1 SH, 1 SOT, 0.1 xG, 0.0 xA, 0 YC, 0 RC
- Anders Dreyer (SD): 100 MIN, 1 G, 0 A, 3 SH, 2 SOT, 1.0 xG, 0.2 xA, 0 YC, 0 RC
- Aníbal Godoy (SD): 72 MIN, 0 G, 0 A, 0 SH, 0 SOT, 0.0 xA, 0 YC, 0 RC
- Antony (POR, substitute): 27 MIN, 0 G, 0 A, 1 SH, 0 SOT, 0.2 xG, 0.0 xA, 0 YC, 0 RC
- Ariel Lassiter (POR, substitute): 3 MIN, 0 G, 0 A, 0 SH, 0 SOT, 0 YC, 0 RC
- Brandon Bye (POR): 100 MIN, 0 G, 0 A, 1 SH, 0 SOT, 0.1 xG, 0.1 xA, 0 YC, 0 RC
- Christopher McVey (SD): 100 MIN, 0 G, 0 A, 0 SH, 0 SOT, 0.0 xA, 0 YC, 0 RC
- Cole Bassett (POR): 86 MIN, 0 G, 0 A, 1 SH, 1 SOT, 0.0 xG, 0.0 xA, 0 YC, 0 RC
- David Da Costa (POR): 100 MIN, 0 G, 0 A, 1 SH, 0 SOT, 0.1 xG, 0.0 xA, 0 YC, 0 RC
- David Vazquez (SD): 72 MIN, 0 G, 0 A, 1 SH, 0 SOT, 0.0 xG, 0.0 xA, 0 YC, 0 RC
- Diego Chará (POR, substitute): 14 MIN, 0 G, 0 A, 0 SH, 0 SOT, 0 xA, 0 YC, 0 RC
- Duran Ferree (SD): 100 MIN, 4 SV, 31 PASS, 30 CMP, 0 YC
- Finn Surman (POR): 100 MIN, 0 G, 0 A, 0 SH, 0 SOT, 0.0 xA, 0 YC, 0 RC
- Ian Pilcher (SD): 59 MIN, 0 G, 0 A, 0 SH, 0 SOT, 0.0 xA, 0 YC, 0 RC
- James Pantemis (POR): 100 MIN, 2 SV, 29 PASS, 24 CMP, 0 YC
- Jeppe Tverskov (SD): 81 MIN, 0 G, 0 A, 0 SH, 0 SOT, 0.1 xA, 0 YC, 0 RC
- Jimer Fory (POR): 100 MIN, 0 G, 0 A, 1 SH, 0 SOT, 0.1 xG, 0.0 xA, 0 YC, 0 RC
- José Caicedo (POR): 100 MIN, 0 G, 0 A, 0 SH, 0 SOT, 0.0 xA, 0 YC, 0 RC
- Kevin Kelsy (POR): 100 MIN, 1 G, 0 A, 2 SH, 1 SOT, 0.4 xG, 0.0 xA, 0 YC, 0 RC
- Kieran Sargeant (SD, substitute): 19 MIN, 0 G, 0 A, 0 SH, 0 SOT, 0 xA, 0 YC, 0 RC
- Kristoffer Velde (POR): 97 MIN, 0 G, 0 A, 1 SH, 1 SOT, 0.0 xG, 0.1 xA, 1 YC, 0 RC
- Manu Duah (SD): 100 MIN, 0 G, 0 A, 1 SH, 0 SOT, 0.0 xG, 0.0 xA, 0 YC, 0 RC
- Marcus Ingvartsen (SD): 100 MIN, 0 G, 0 A, 2 SH, 0 SOT, 0.2 xG, 0.3 xA, 1 YC, 0 RC
- Onni Valakari (SD): 100 MIN, 0 G, 0 A, 1 SH, 0 SOT, 0.0 xG, 0.1 xA, 0 YC, 0 RC
- Oscar Verhoeven (SD): 81 MIN, 0 G, 0 A, 1 SH, 0 SOT, 0.1 xG, 0.1 xA, 0 YC, 0 RC
- Pedro Soma (SD, substitute): 28 MIN, 0 G, 0 A, 0 SH, 0 SOT, 0.0 xA, 1 YC, 0 RC
- Wilson Eisner (SD, substitute): 41 MIN, 0 G, 0 A, 0 SH, 0 SOT, 0.0 xA, 0 YC, 0 RC
Lines for players with a StatsNext page.
Head-to-head
- Nov 9, 2025 (MLS): San Diego FC 4-0 Portland Timbers
- Nov 1, 2025 (MLS): San Diego FC 2-2 Portland Timbers
- Oct 26, 2025 (MLS): San Diego FC 2-1 Portland Timbers
- Oct 18, 2025 (MLS): San Diego FC 4-0 Portland Timbers
- Aug 23, 2025 (MLS): San Diego FC 0-0 Portland Timbers
Full San Diego FC vs Portland Timbers head-to-head (7 meetings).
About this page
This match is final; its statistics change only if a stored record is corrected. Goals are listed when StatsNext’s records hold every goal of the match.
This page shows statistics and results only. It contains no sportsbook prices or betting lines. Current markets and StatsNext research are in the app.
Research in StatsNext
- This match in StatsNext: Matchup Research for both clubs
- San Diego FC results and statistics
- Portland Timbers results and statistics
- All MLS results
