It's fine. Five days after playing 33 minutes with nine players in Seattle, Portland flew to San Diego and ran out of gas. Pietra Tordin scored again because that's what Tordin does now. Three goals in three games. It wasn't enough. The legs that won the war on Friday lost the battle on Wednesday. Context matters.
Let’s get this out of the way: it’s fine.
Portland lost 3-1 in San Diego. First loss of the season. First goal conceded. The scoreline looks bad. The context makes it make sense. Five days ago these same players played 33 minutes with nine people on the pitch and still beat Seattle 2-0 at Providence Park. Then they flew to Southern California for a Wednesday night game against a rested Wave team that had a full week to prepare. Legs don’t lie. This was always going to be the hard one.
Dudinha scored in the second minute. 120 seconds. That’s how long Portland’s shutout streak lasted. Two clean sheets across two matches, a zero in the “goals against” column that felt like it could last forever. It couldn’t. Gia Corley slipped the ball through and the Brazilian buried it bottom right. First goal conceded in 2026. Snapdragon got loud.
And then Pietra Tordin happened.
Six minutes later. Left foot. Center of the box. 1-1. Three goals in three games. Every single match she’s played as a professional, she has scored. Not “looked dangerous.” Not “showed flashes.” Scored. The 22-year-old from Princeton heard 8,000 people screaming for the home team and just went and equalized like it was nothing. She didn’t flinch. She didn’t rush. She picked her spot and hit it.
We need to talk about what Tordin is. Not “could be.” Is. She’s the most dangerous forward on this roster right now. She might be the early frontrunner for NWSL Rookie of the Year. Three games, three goals, zero hesitation. The Princeton kid plays like she’s been here for a decade. Whatever Vilahamn saw in preseason, the rest of us are catching up.
The problem is Tordin can’t play all 22 positions. Lia Godfrey restored San Diego’s lead in the 27th minute. Left foot, center of the box, Dudinha with the assist. The Brazilian ran this game. Portland’s legs, five days removed from the Seattle chaos, simply weren’t there to track her. 2-1 at the break. You could see the fatigue. The players who ran themselves into the ground on Friday night were running on fumes by the 30th minute on Wednesday.
Vilahamn saw it. Deyna Castellanos made her 2026 debut at halftime, replacing Shae Harvey. Sophia Wilson came on for Mimi Alidou. Two subs at the break. Two statements: that wasn’t good enough. Castellanos, the Venezuelan international who can unlock a defense with one pass, brought creativity the first half was missing. Portland pushed. More urgency. More territory. But 35% possession across 90 minutes tells the real story. San Diego had the ball. San Diego had the legs. San Diego had the game.
Olivia Moultrie picked up a yellow in the 61st minute. Frustration. McKenzie came on. Then Padelski. Then Perry. Five subs. Nothing changed. In the 82nd minute, Melanie Barcenas pounced on a rebound after Morgan Messner made the initial save. 3-1. Game over. First loss. Deep breath.
The numbers are ugly and we’re not going to sugarcoat them. Four shots on target. San Diego had eleven. 35% possession. Portland won corners 6-3 but did nothing with them. Jessie Fleming played all 90 and tried to impose herself in midfield, but this wasn’t Friday night at home against ten. Kenza Dali owned the center of the park. Dudinha was unplayable. This is what the NWSL looks like when you show up to an away game running on empty against a team that had a full week to prepare. It happens. It happened.
Here’s why this is fine. Portland had the worst possible scheduling draw to start the season: away at Washington, home to Seattle (where they got two red cards and played with nine), then away at San Diego five days later. Three games in twelve days, two of them on the road, one of them a war. Any team in the league drops that third game. The fact that Portland even went 2-0-0 into it is the story. The loss is the footnote.
And Tordin. Three goals in three games. She scores every time she walks onto a pitch. The season looks different when your 22-year-old striker has that kind of start. The ceiling for this team just moved.
2-0-1. Six points. Castellanos and Wilson off the bench give Vilahamn real options. KC comes to Providence Park Saturday for Cherry Blossom Day. CBS broadcast. 22,000 fans. Home cooking. The short turnaround that killed Portland in San Diego works the other way now: KC has to come to Portland three days after their own midweek match. Bounce-back game. Let’s go.
By the Numbers
- Possession: Portland 35%, San Diego Wave 65%
- Shots: Portland 16, San Diego Wave 18
- Shots on Target: Portland 4, San Diego Wave 11
- Corners: Portland 6, San Diego Wave 3
- Attendance: 8,428
- Referee: Jaclyn Metz
- Broadcast: CBSSN
Starting XI
Portland (4-4-2): Morgan Messner, Isabella Obaze, Sam Hiatt, M.A. Vignola, Marie Muller, Shae Harvey, Jessie Fleming, Mimi Alidou, Reilyn Turner, Olivia Moultrie, Pietra Tordin
Bench: Mackenzie Wood, Jayden Perry, Mallie McKenzie, Deyna Castellanos, Sophia Wilson, Maddie Padelski, Carolyn Calzada, Valerin Loboa
What's Next
- Full 30-game schedule with dates, times, TV, and theme nights
- Game Day Guide: Providence Park for transit, food, the Riveters, and what to wear
- Can't make the next one? Watch at The Sports Bra or host your own watch party
- Portland women's sports calendar with every Fire, Thorns, and Cascade game on one page
- Full 2026 roster with every player profile, stats, and highlights
- Why Portland is Title Town: three teams, three championships, one city
Players in This Match
Post-Match FAQ
What was the Thorns score today?
San Diego Wave 3, Portland Thorns 1 on March 25 at Snapdragon Stadium. Pietra Tordin scored Portland's only goal in the 8th minute. It was the Thorns' first loss of the 2026 NWSL season.
Who scored for the Thorns tonight?
Pietra Tordin scored in the 8th minute, her third goal in three matches to start the season. San Diego goals came from Dudinha (2'), Lia Godfrey (27'), and Melanie Barcenas (82').
What is the Thorns' record in 2026?
2-0-1 with 6 points after 3 matches. Portland won at Washington (1-0) and beat Seattle at home (2-0) before falling 3-1 at San Diego. The Thorns sit in the top half of the NWSL table.
What was the attendance at the San Diego game?
8,428 at Snapdragon Stadium in San Diego. Portland's home matches at Providence Park have drawn over 22,000.
When is the next Thorns game?
Saturday, March 28 at 1:00 PM PT vs Kansas City Current at Providence Park. Cherry Blossom Day. Broadcast on CBS.
Did Sophia Wilson play?
Yes. Wilson came on at halftime for Mimi Alidou and played the entire second half. She had her second appearance of the 2026 season.
Did Deyna Castellanos play in this match?
Yes. Castellanos made her first appearance of the 2026 NWSL season, entering at halftime for Shae Harvey. The Venezuelan international added creativity in the second half as Portland chased the game.
How can I watch the Thorns?
This match was on CBSSN. Thorns games also air on CBS, ESPN, ION, Prime Video, and NWSL+. The next match vs Kansas City on March 28 is on CBS.
How many goals has Pietra Tordin scored in 2026?
Three goals in three NWSL matches to start the 2026 season. Tordin has scored in every professional match she has played. The 22-year-old Princeton product is the early frontrunner for NWSL Rookie of the Year.
Why did the Thorns lose to San Diego?
Fatigue from the Seattle match five days earlier was the biggest factor. Portland played 33 minutes with only 9 players against Seattle on March 20 (two red cards), then flew to San Diego for a Wednesday night game. The Wave had a full week to prepare. Portland managed only 35% possession and 4 shots on target.
What is the Thorns schedule this week?
Portland hosts Kansas City Current at Providence Park on Saturday, March 28 at 1:00 PM PT. Cherry Blossom Day. Broadcast on CBS. After that, the Thorns are away at North Carolina Courage on April 4.