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. Two starts, two goals to open 2026. It wasn't enough, and blaming Tordin is not on the table. 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. Two goals in three matches to open 2026. Both as a starter. Tordin doesn’t get the memo about pacing yourself in your second NWSL season. She just keeps walking onto pitches and scoring. The Princeton kid heard 8,000 people screaming for the home team and equalized like it was an inconvenience to her schedule. 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, full stop, and the goalkeepers in this league are the ones who have to figure it out. Two-time Rookie of the Month in 2025. Two goals in three matches to open 2026. The Princeton kid plays like she’s been here for a decade, which is funny because she signed her first pro contract just over a year ago. 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. Two goals in three matches. Both starts. She has basically dared the rest of the league to come up with a plan, and so far the rest of the league has not come up with a plan. The season looks different when your 22-year-old is doing this. The ceiling 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 second goal of the 2026 season in Portland's third match. 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.
What was Portland's next match after San Diego?
Three days later at Providence Park: the Thorns beat Kansas City Current 2-0 on Cherry Blossom Day, with Olivia Moultrie's penalty and a Reilyn Turner header. Read the [Kansas City recap](/thorns/matches/2026-03-28-kc-por/).
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 air across CBS, ESPN, ION, Prime Video, and NWSL+. Per-match broadcast info lives on the [schedule page](/thorns/schedule/).
How many goals has Pietra Tordin scored in 2026?
Two goals in three matches to open 2026, both as a starter, plus the assist on Olivia Moultrie's match-winner at Washington. The Princeton kid won NWSL Rookie of the Month twice in 2025 and is in her second pro season pretending it's still her first. Don't bet against her.
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.
Where can I see the full 2026 Thorns schedule?
The complete 2026 NWSL schedule with results, recaps, and broadcast info lives at [titletownpdx.com/thorns/schedule](/thorns/schedule/).