Skip to content

NWSL Playoffs Match Recap: Quarterfinal - Portland Thorns vs San Diego Wave

The Portland Thorns are heading to the semifinals.

NWSL Playoffs Match Recap: Quarterfinal - Portland Thorns vs San Diego Wave
Photo Credit: Kelsey Baker

On a rare sunny and crisp afternoon in Portland, the Thorns hosted the Wave at a packed Providence Park. After a chaotic weekend of playoff games, 19,309 fans showed out hoping for a clean and straightforward win over their West Coast opponents. But, in typical NWSL Playoff fashion, nothing was predictable about this matchup. For 92+ minutes, the game was scoreless and Portland fended off chance after chance from San Diego. The turnovers in the middle of the park were relentless and led to the disparate possession statistics. But as soon as the whistle blew for extra time, everything changed. Portland stepped onto the pitch for 30 more minutes a changed team, ready to show everyone what they were made of.

QUARTERFINAL XI LET’S GOOOOOOOOO 🔥

Portland Thorns FC (@thornsfc.com) 2025-11-09T19:15:06.062Z

Rob Gale took the outcome from the last win against Houston as a good sign and started the same eleven players with one notable sub back on the bench: Pietra Tordin. Alexa Spaanstra and Kaitlyn Torpey are two players who have not been in the starting lineup consistently this season, but played phenomenally last weekend and would hopefully bring the same speed and confidence they showed up with against Houston. Although Tordin was back in the availability report this week, the Thorns would miss out on an opportunity to play Mimi Alidou who was out with an excused absence. However, if the Thorns played anything like they did last weekend, they would be okay.

The Thorns have written their own script this season and have revealed grit and determination that a lot of us didn't know was under the surface. The timing couldn't be better, either, for this motivation to show up as Portland enters their 11th playoff run (a league record, mind you).

Play by Play

1' ...and we're off! A historic game for the NWSL and the Thorns is underway

4' Sam Coffey is already putting in the minutes playing a fast press and covering on defense

5' Sam Coffey plays a ball in to Turner who misdirects the header on goal, she puts it back in the box to Moultrie who takes a shot on goal, punched out by Sheridan

8' Reyes to Turner down the line, we saw this run over and over again against Houston, she drives in and crosses an easy one for Sheridan to collect

11' Spaanstra showing up on defense to stop a San Diego attack, Portland is really doing the most so far, we just need more options on the counter attack

16' First corner of the match for San Diego, cleared out by Obaze and Hiatt

17' Sam Coffey shuts down yet another attack from San Diego in the box and clears it out

27' Two San Diego players go down and it's a chance for Portland to restructure their attack and figure out a way out of the middle of the park and into the final third

31' Play resumes and we should expect those minutes added on to the half, hopefully Gale and the staff had a good amount of time to talk about creating more attacking chances

34' Castellanos earns a set piece in their defensive half

35' Turner collides with her defender and both went down, both players were watching Torpey bring the ball up the line and didn't see each other and collided heads

40' Obaze clears a low cross into the box and it's out for a San Diego corner, the Riveters are LOUD today

41' Moultrie to Castellanos for a real chance on goal, she just misses and hits the outside of the side netting

44' Turner to Olivia Moultrie who shoots it OFF THE POST and it stays in play

45' Torpey shown a caution card, an interesting twist for the second half

Halftime in Portland 0-0 The first ten minutes were in the Thorns half, but they leave the rest to be desired. Their halftime xG is .46 compared to a San Diego .34, but possession is 64% for the Wave. Portland certainly doesn't have to possess this game to win it, but they have to score to win...let's see how Rob adjusts his squad.

Stat courtesy of FotMob

46' One half left. Who wants it? #BAONPDX Which team is advancing to the semifinals?

Stumptown Footy (@stumptownfooty.bsky.social) 2025-11-09T21:12:13.084Z

45' Second Half is up and running, and Phuoc asked the right question, "Who wants it?" This half will most certainly go to the team who wants it most. Let the games begin.

51' Sam Coffey collects a ball outside the box and shoots one low and wide

56' San Diego with yet another corner, Torpey has be playing great defense since the start of the half, but Portland didn't solve their problem of getting out of their half...so expect more defensive praise

58' Spaanstra earns a set piece from about 40 yards out, Moultrie on the ball

61' Sam Coffey shuts down another San Diego press and earns a foul, did I hear someone say Player of the Game?

61' Portland substitution: Mallie McKenzie in for Kaitlyn Torpey

63' McKenzie, with her first touches on the ball, sends one in to Turner who bicycle kicks on straight to Sheridan, WHO RODE THEIR BIKE TO WORK TODAY?!

Photo Credit: Kelsey Baker

66' San Diego with their 7th corner of the match, Portland has had none. Arnold collects it easily. If Portland is going to score, it's going to come from a counter attack or a set piece, our possession is rubbish

73' Obaze with a sliding shot block in the box. Another press from San Diego squandered by a saved shot by Arnold

75' Turner rips one at the top of the box that goes over, Portland is keeping their hopes of the semifinals alive

78' 8th corner for the San Diego Wave, results in a shot wide

80' Turner is pushed on handed to the ground on the numbers of her jersey right outside of the box. There's no reason to play advantage here in an opportune place to score, just call the foul

82' Portland substitution: Pietra Tordin in for Alexa Spaanstra

84' Portland earns their first corner of the game and Providence Park is absolutely electric right now, it's headed over and wide by Turner

86' Portland earns their second corner of the match, cleared by San Diego and Coffey takes one off the volley straight into the hands of Sheridan

Five whole excruciating minutes of extra time headed our way.

90+3' Tordin drives into the box and is breathing some life into these last minutes

90+ 10' Moultrie shown a caution card

90+11' It's official. We're going into extra time. Portland 0, San Diego 0

First 15 minutes of Extra Time

91' Pietra Tordin wants one, we all feel it. She's doing whatever she can to win the ball and create chances in the box. If anyone scores today, it's her.

92' San Diego earns a set piece in a dangerous spot on the corner of the box, it's cleared away by Portland

93' PORTLAND GOALLLLLLLLLLLLLL Moultrie drives into the box and hits a precise cross to Turner who heads it in past Sheridan, Portland 1, San Diego 0

Photo Credit: Kelsey Baker

101' Moultrie to Turner to Tordin, what an incredible string of connections. No goal comes out of it, and Tordin is down after running into the post, but Portland is showing up in a big way these first 15 minutes

104' Portland corner, the ball is headed wide and is chased down by Sheridan

105' Macca comes up big and collects a one on one chance for San Diego, goes down holding her head, she's up and is ready to go. We owe her for the lead we're holding onto right now

4 minutes of extra time

105+4' Castellanos taken down and Portland earns a set piece right inside their defensive half

As we enter the second 15 minutes of extra time, take a look at the momentum from Portland the last 15 minutes..absolutely mind boggling. How can a team change the momentum of the first 90+ minutes after being gassed and on the back foot?! Let me present to you the 2025 Portland Thorns.

Stat courtesy of FotMob

Second Extra Time

106' Macca comes up huge with a save and behind her the Riveters are chanting "She's our keeper". San Diego corner is called offside after it's kicked

109' Coffey to Turner who drives inside and earns a Thorns set piece right outside the box, here we go, Liv

111' Liv's set piece is barely missed wide

112' Portland substitution: Daiane in for Castellanos, Deyna gets a standing ovation for a beautiful performance

115' Tordin is the cheekiest player on the pitch today. An outside of the foot nutmeg inside San Diego's box?!

116' Portland corner results in another corner, everyone looks gassed and it's clear they've played a lot of football today

117' The corner lands on Daiane's head who almost puts it away

5 minutes of extra time...

Final Score Portland 1, San Diego 0

I'll let the Riveters, supporters, and fans speak for the game. The supporters section were up on their feet the whole game and the energy in the park was palpable. The identity of this Portland squad has proved to be one of grit, determination, motivation, and a willingness to prove everyone wrong. As nerve wracking as this game was to watch, there was always a sense that Portland would find a way, and find a way they did. Reilyn Turner and Mackenzie Arnold were on top of the list among a whole slew of players who could be praised for the win today. The final minute of the game really said it all: Providence Park was on their feet and ready to wave their scarves as the final whistle blew.

We'll see you next weekend at the semifinal match on the road against the Washington Spirit.

I'll leave you with this quote from Rob Gale in the postgame presser:
"Write us off again."

More in Portland Thorns

See all

More from Rocky McNeff

See all