Major League Soccer Regular Season - 10

San Diego 1 - 2 FT Portland Timbers

Snapdragon Stadium

Match previews and recaps to help you decide which games are worth watching

Futmetrix Verdict
66
FT
Sun, Apr 26
San Diego
1-2
Portland Timbers
⚡ Intensity 69
⚖️ Balance 56
🏆 Stakes 0
🎲 Upset 60
Late drama stuns Snapdragon Stadium crowd.

Portland Stun San Diego in Late Snapdragon Thriller

Highly Entertaining Futmetrix Score: 66/100. An intense back-and-forth battle culminated in a 90th-minute heartbreaker, proving possession means nothing without a killer instinct.

Early Blows and Spot Kicks

The clash at Snapdragon Stadium wasted no time springing to life. Despite the hosts bossing the ball with a towering 67% possession in the opening phases, it was the Portland Timbers who struck first. Kevin Kelsy capitalized on a transitional moment to smash home the opener in the 26th minute, setting the tone for a match defined by high Intensity. The visitors’ joy was incredibly short-lived, however. Just six minutes later, the referee pointed to the spot, and A. Dreyer confidently dispatched the penalty to draw San Diego level. The home side utilized their 730 total passes to completely dictate the tempo, shifting the ball methodically and pressing for an advantage before the interval, but Portland's defense stubbornly refused to buckle under the weight of the sustained pressure.

VAR Intervenes

Emerging from the tunnel, the home crowd erupted almost instantly when M. Ingvartsen found the back of the net in the 47th minute. The celebrations were abruptly cut short as VAR intervened, disallowing the goal for a narrow offside call. This pivotal moment severely altered the Balance of momentum. San Diego continued to press, racking up 12 corner kicks over the course of the match, but they struggled to turn territorial dominance into clear-cut chances against a resolute Timbers backline. Portland seemed perfectly content to absorb the pressure and wait for their moments on the counter-attack. The match settled into a tense chess game, with both sides desperate to break out of their respective ruts, creating a fascinating stylistic clash between patient buildup and direct, opportunistic striking.

A Stoppage-Time Robbery

As the clock ticked into the red, a draw seemed like the inevitable conclusion for two squads battling poor recent form. The Stakes were immense for both struggling franchises, yet San Diego's failure to convert their overwhelming possession into a second goal left the door wide open. In the 90th minute, that door was violently kicked down. A. Bonetig delivered a devastating stoppage-time strike, snatching a dramatic lead for the visitors. The late winner completed a massive Upset given the massive statistical disparity and pre-match expectations. Portland walks away with all three points, surviving a barrage of possession to secure a vital road victory. Meanwhile, San Diego is left to ponder how a match they controlled so thoroughly slipped through their fingers in the dying seconds.

Key Questions

How dramatic was the late winner by Kevin Kelsy?

Kevin Kelsy scored the 26th-minute opener, but it was actually A. Bonetig who netted the dramatic 90th-minute winner to seal Portland's stunning upset victory.

What is the Futmetrix Score?

The Futmetrix Score is our 0-100 verdict on how entertaining a match is. We look at intensity, balance, stakes, and star quality to tell you if it's worth your time.

Match Statistics

Possession
67%
33%
San Diego 67%
Portland Timbers 33%
Shots
8
9
San Diego 8
Portland Timbers 9
Shots on Target
2
5
San Diego 2
Portland Timbers 5
Expected Goals (xG)
1.25
0.99
San Diego 1.25
Portland Timbers 0.99
Passes
730
357
San Diego 730
Portland Timbers 357
Pass Accuracy
90%
83%
San Diego 90%
Portland Timbers 83%
Corners
6
6
San Diego 6
Portland Timbers 6
Fouls
11
10
San Diego 11
Portland Timbers 10
Yellow Cards
2
1
San Diego 2
Portland Timbers 1
Red Cards
0
0
San Diego 0
Portland Timbers 0

Match Events

K. Kelsy 26'
32' A. Dreyer
HT
47' M. Ingvartsen
59' 🔄 I. Pilcher W. Eisner
63' 🟨 M. Ingvartsen
K. Velde 🟨 69'
72' 🔄 A. Godoy P. Soma
72' 🔄 D. Vazquez L. Morgan
A. Aravena Antony 🔄 73'
76' 🟨 W. Eisner
81' 🔄 J. Tverskov B. Duke
81' 🔄 O. Verhoeven K. Sargeant
C. Bassett D. Chara 🔄 86'
A. Bonetig 90'+6
K. Velde A. Lassiter 🔄 90'+7
FT

Player Cards

Our take on every player in this match

San Diego

Goalkeepers
Duran Ferree
PROVOCATEUR
PROVOCATEUR
1
Fouls Won
1
Fouls Won
2
Duels Won
0
Pens Won
Defenders
Oscar Verhoeven
LATE SHIFT
LATE SHIFT
9
Late Mins
9
Late Mins
81
Total Mins
81
Entry
Christopher McVey
MAGNET
MAGNET
100
Activity
100
Activity
94
Passes
6
Duels
Manu Duah
MAGNET
MAGNET
111
Activity
111
Activity
107
Passes
4
Duels
Ian Pilcher
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
59
Total Mins
59
Entry
Midfielders
Anibal Godoy
MAGNET
MAGNET
83
Activity
83
Activity
78
Passes
5
Duels
Jeppe Tverskov
MAGNET
MAGNET
104
Activity
104
Activity
94
Passes
10
Duels
Onni Valakari
ENFORCER
ENFORCER
4
Tackles
4
Tackles
5
Duels Won
83%
Win %
Forwards
Anders Dreyer
SNIPER
SNIPER
100%
Conversion
100%
Conversion
1
Goals
1
Shots
Marcus Ingvartsen
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
98
Total Mins
Started
Entry
David Vazquez
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
72
Total Mins
72
Entry
BENCH
CJ dos Santos
SPECTATOR
SPECTATOR
0
Saves
0
Saves
0
Conceded
0
Minutes
Wilson Eisner
PROVOCATEUR
PROVOCATEUR
2
Fouls Won
2
Fouls Won
2
Duels Won
0
Pens Won
Osvald Soe
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Kieran Sargeant
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
17
Total Mins
Started
Entry
Pedro Soma
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
26
Total Mins
Started
Entry
Bryce Duke
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
17
Total Mins
Started
Entry
Lewis Morgan
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
26
Total Mins
Started
Entry
Bryan Zamblé
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Alex Mighten
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry

Portland Timbers

Goalkeepers
James Pantemis
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
98
Total Mins
Started
Entry
Defenders
Brandon Bye
FRIENDLY FIRE
FRIENDLY FIRE
Pen Given
Mistake
Pen Given
Mistake
2
Fouls
6.3
Rating
Finn Surman
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
98
Total Mins
Started
Entry
Alex Bonetig
CLUTCH HERO
CLUTCH HERO
90
Goal Time
90
Goal Time
Goal
Impact
7.2
Rating
Jímer Fory
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
98
Total Mins
Started
Entry
Midfielders
Cole Bassett
SWEEPER
SWEEPER
5
Cleanups
5
Cleanups
5
Interceptions
0
Blocks
José Caicedo
PROVOCATEUR
PROVOCATEUR
3
Fouls Won
3
Fouls Won
7
Duels Won
0
Pens Won
Kristoffer Velde
NPC
NPC
97
Minutes
97
Minutes
14%
Pass Acc
6
Rating
David da Costa
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
98
Total Mins
Started
Entry
Alexander Aravena
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
73
Total Mins
73
Entry
Forwards
Kevin Kelsy
SNIPER
SNIPER
50%
Conversion
50%
Conversion
1
Goals
2
Shots
BENCH
Trey Muse
SPECTATOR
SPECTATOR
0
Saves
0
Saves
0
Conceded
0
Minutes
Ian Smith
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Kamal Miller
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Eric Miller
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Diego Chará
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
12
Total Mins
Started
Entry
Joao Ortíz
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Antony Alves
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
25
Total Mins
Started
Entry
Felipe Mora
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Ariel Lassiter
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
1
Total Mins
Started
Entry

Head to Head

Date Home Score Away Competition Venue
11/10/2025 San Diego 4 - 0 Portland Timbers Major League Soccer Snapdragon Stadium
11/02/2025 Portland Timbers 2 - 2 (PEN 3-2) San Diego Major League Soccer Providence Park
10/27/2025 San Diego 2 - 1 Portland Timbers Major League Soccer Snapdragon Stadium
10/19/2025 Portland Timbers 0 - 4 San Diego Major League Soccer Providence Park
08/24/2025 San Diego 0 - 0 Portland Timbers Major League Soccer Snapdragon Stadium
02/12/2025 Portland Timbers 3 - 0 San Diego Friendlies Clubs Empire Polo Club
11/10/2025
Major League Soccer Snapdragon Stadium
11/02/2025
2 - 2 (PEN 3-2)
Major League Soccer Providence Park
10/27/2025
Major League Soccer Snapdragon Stadium
10/19/2025
Major League Soccer Providence Park
08/24/2025
Major League Soccer Snapdragon Stadium
02/12/2025
Friendlies Clubs Empire Polo Club
San Diego Win
Portland Timbers Win
Draw

League Standings

Pos Team P Pts GF GA GD Form
1 San Jose Earthquakes 8 21 22 6 +16 WSt. Louis City 2 - 3 San Jose Earthquakes (26-04-2026)WSan Jose Earthquakes 5 - 1 Austin (23-04-2026)WLos Angeles FC 1 - 4 San Jose Earthquakes (19-04-2026)WSporting Kansas City 1 - 3 San Jose Earthquakes (12-04-2026)WSan Jose Earthquakes 3 - 0 San Diego (05-04-2026)
2 Seattle Sounders 8 19 12 4 +8 WSeattle Sounders 2 - 1 FC Dallas (26-04-2026)WSeattle Sounders 4 - 1 St. Louis City (19-04-2026)WHouston Dynamo 0 - 1 Seattle Sounders (05-04-2026)DMinnesota United FC 0 - 0 Seattle Sounders (22-03-2026)WSan Jose Earthquakes 0 - 1 Seattle Sounders (15-03-2026)
3 Vancouver Whitecaps 7 18 20 5 +15 WVancouver Whitecaps 3 - 1 Colorado Rapids (26-04-2026)WVancouver Whitecaps 3 - 0 Sporting Kansas City (18-04-2026)WVancouver Whitecaps 3 - 2 Portland Timbers (05-04-2026)LVancouver Whitecaps 0 - 1 San Jose Earthquakes (22-03-2026)WVancouver Whitecaps 6 - 0 Minnesota United FC (15-03-2026)
4 Los Angeles FC 8 14 8 6 +2 WMinnesota United FC 0 - 1 Los Angeles FC (25-04-2026)DLos Angeles FC 0 - 0 Colorado Rapids (23-04-2026)LLos Angeles FC 1 - 4 San Jose Earthquakes (19-04-2026)LPortland Timbers 2 - 1 Los Angeles FC (11-04-2026)DAustin 0 - 0 Los Angeles FC (22-03-2026)
5 Minnesota United FC 8 14 9 11 -2 LMinnesota United FC 0 - 1 Los Angeles FC (25-04-2026)WFC Dallas 0 - 1 Minnesota United FC (23-04-2026)WMinnesota United FC 2 - 0 Portland Timbers (19-04-2026)WSan Diego 1 - 2 Minnesota United FC (12-04-2026)WLos Angeles Galaxy 1 - 2 Minnesota United FC (05-04-2026)
6 Colorado Rapids 7 13 17 9 +8 LVancouver Whitecaps 3 - 1 Colorado Rapids (26-04-2026)DLos Angeles FC 0 - 0 Colorado Rapids (23-04-2026)WColorado Rapids 6 - 2 Houston Dynamo (12-04-2026)WSporting Kansas City 1 - 4 Colorado Rapids (22-03-2026)WColorado Rapids 4 - 1 Los Angeles Galaxy (08-03-2026)
7 Real Salt Lake 7 13 14 10 +4 LLos Angeles Galaxy 2 - 1 Real Salt Lake (26-04-2026)WReal Salt Lake 4 - 2 San Diego (19-04-2026)WReal Salt Lake 3 - 1 Sporting Kansas City (04-04-2026)DSan Diego 2 - 2 Real Salt Lake (22-03-2026)WReal Salt Lake 2 - 1 Austin (15-03-2026)
8 Los Angeles Galaxy 7 8 10 13 -3 WLos Angeles Galaxy 2 - 1 Real Salt Lake (26-04-2026)DFC Dallas 2 - 2 Los Angeles Galaxy (19-04-2026)WAustin 1 - 2 Los Angeles Galaxy (11-04-2026)LLos Angeles Galaxy 1 - 2 Minnesota United FC (05-04-2026)DPortland Timbers 1 - 1 Los Angeles Galaxy (22-03-2026)
9 San Diego 9 8 12 17 -5 LSan Diego 1 - 2 Portland Timbers (26-04-2026)LHouston Dynamo 1 - 0 San Diego (23-04-2026)LReal Salt Lake 4 - 2 San Diego (19-04-2026)LSan Diego 1 - 2 Minnesota United FC (12-04-2026)LSan Jose Earthquakes 3 - 0 San Diego (05-04-2026)
10 Portland Timbers 8 7 10 17 -7 WSan Diego 1 - 2 Portland Timbers (26-04-2026)LMinnesota United FC 2 - 0 Portland Timbers (19-04-2026)WPortland Timbers 2 - 1 Los Angeles FC (11-04-2026)LVancouver Whitecaps 3 - 2 Portland Timbers (05-04-2026)DPortland Timbers 1 - 1 Los Angeles Galaxy (22-03-2026)
11 FC Dallas 7 6 11 13 -2 LSeattle Sounders 2 - 1 FC Dallas (26-04-2026)LFC Dallas 0 - 1 Minnesota United FC (23-04-2026)DFC Dallas 2 - 2 Los Angeles Galaxy (19-04-2026)DFC Dallas 1 - 1 St. Louis City (12-04-2026)WFC Dallas 4 - 3 Houston Dynamo (22-03-2026)
12 Houston Dynamo 7 6 9 17 -8 LAustin 2 - 0 Houston Dynamo (26-04-2026)WHouston Dynamo 1 - 0 San Diego (23-04-2026)LColorado Rapids 6 - 2 Houston Dynamo (12-04-2026)LHouston Dynamo 0 - 1 Seattle Sounders (05-04-2026)LFC Dallas 4 - 3 Houston Dynamo (22-03-2026)
13 Austin 6 5 7 11 -4 WAustin 2 - 0 Houston Dynamo (26-04-2026)LSan Jose Earthquakes 5 - 1 Austin (23-04-2026)LAustin 1 - 2 Los Angeles Galaxy (11-04-2026)DAustin 0 - 0 Los Angeles FC (22-03-2026)LReal Salt Lake 2 - 1 Austin (15-03-2026)
14 Sporting Kansas City 7 3 5 18 -13 LVancouver Whitecaps 3 - 0 Sporting Kansas City (18-04-2026)LSporting Kansas City 1 - 3 San Jose Earthquakes (12-04-2026)LReal Salt Lake 3 - 1 Sporting Kansas City (04-04-2026)LSporting Kansas City 1 - 4 Colorado Rapids (22-03-2026)WLos Angeles Galaxy 1 - 2 Sporting Kansas City (15-03-2026)
15 St. Louis City 6 1 4 13 -9 LSt. Louis City 2 - 3 San Jose Earthquakes (26-04-2026)LSeattle Sounders 4 - 1 St. Louis City (19-04-2026)DFC Dallas 1 - 1 St. Louis City (12-04-2026)LLos Angeles FC 2 - 0 St. Louis City (15-03-2026)LSt. Louis City 0 - 1 Seattle Sounders (08-03-2026)