Thorns

First Place.

FULL TIME
SD
San Diego Wave
0 2
Portland Thorns
Müller 10', Wilson 64'
5-1-1 · 16 pts · 12 GF · 6 GA · +6 GD

Marie Müller is a defender. She scored Portland's opener in the 10th minute, a curling first-time strike off an Olivia Moultrie ball that bent inside the far post. Sophia Wilson scored the second at 64', her first goal at Providence Park since November 2024 and her second goal in five days. The Thorns ended the night with five shots, three on target, two in the back of the net, and a clean sheet against the team that came in unbeaten as the league's most expensive offseason. 5-1-1. Sixteen points. First in the NWSL. The math worked because the plan worked.

Key Events
10' Marie Muller , First NWSL career goal. Moultrie ball wide into the box. First-time strike, curling to the far post. (assist: Olivia Moultrie)
24' Mackenzie Arnold , Diving forward to smother a San Diego attempt.
40' 🟨 Sophia Wilson , Caution.
64' Sophia Wilson , Turned toward goal at the top of the box. Low, driven strike past the keeper. First home goal since November 2024. Second goal in two matches. (assist: Mimi Alidou)

Five weeks ago Portland lost 3-1 at Snapdragon Stadium. Tired legs, four days after a nine-versus-eleven win at home, against a San Diego Wave team that looked like the most complete roster in the league. The Thorns hadn’t won at Snapdragon ever, and they didn’t on March 25 either. The story coming out of that match was that the Wave’s offseason had widened the gap.

Wednesday night the same two teams played the same fixture, and the Thorns won 2-0. Same score, opposite direction. The team that has been the league’s best for five weeks left Providence Park having scored zero on three shots on target. The team that was supposed to need this match to stay in the top two won it convincingly enough that the standings printed the right name on top in the morning.

Top of the league. That’s the headline. The story is how.

Marie Müller Is a Defender

Marie Müller is listed as a defender on Portland’s roster. She came from SC Freiburg in the Frauen-Bundesliga in the offseason as a depth piece, the kind of signing you make when the cap is tight and you want a player who can handle three positions and not panic in any of them. Six matches into her Portland career, in the 10th minute of a top-of-the-table match against the team that hadn’t lost since opening night, she scored the most important goal of the Thorns’ season so far. First-time strike. Twelve yards. Curled inside the far post. Per the San Diego Wave match report, her first NWSL career goal.

Pay attention to where it came from. Olivia Moultrie is the most creative passer on the team and Wednesday she found Müller wide of the box in space, ball arriving at exactly the speed Müller needed to strike it cleanly. Müller did not square it. She did not look for an obvious teammate. She trusted her shot. That’s a player who has been working in training. That’s a player whose role was bigger Wednesday than it has been in any of her first six matches. Whatever Vilahamn changed about Müller’s positioning Wednesday — pushing her higher, asking her to attack, trusting a defender to break the press by getting forward — it produced a goal in the tenth minute and changed the entire shape of the night.

This is what depth actually looks like. Not a name on a press release. Not a roster slot filled. Goals from the seventh-tier signing in a fixture that decides first place. You sign Müller and ask her to play 20 matches a year off the bench. She gives you a goal in the biggest match of April instead. That’s the kind of return Portland’s analytics-heavy front office has been quietly producing all year.

Wilson Came Home

Sophia Wilson had not scored at Providence Park since November 2024. Eighteen months. The 2025 maternity leave covered an entire season. The first ten weeks of 2026 were a careful return: a 13-minute cameo at Washington, 31 minutes at Seattle, a halftime sub at San Diego in the loss, longer minutes at Kansas City and North Carolina, finally the goal at Angel City at 90+5’ on Sunday — her first goal back from maternity leave, the one that ends up in every search result for Wilson for the next decade.

Sunday’s goal was a milestone. Wednesday’s goal was a release. The Riveters needed Wilson to score at home before this comeback felt real. She did it in the 64th minute, off a Mimi Alidou ball at the top of the box, one touch to settle and a low driven finish across the keeper. The smile in the celebration was different from Sunday’s. Sunday was relief. Wednesday was this is what I do here.

The deeper number: Alidou now has assists in back-to-back matches, both on Wilson goals. The Wilson-Alidou partnership took until late April to find its rhythm, and the long vertical passing range Alidou was signed for (she came in with a reputation as a playmaker forced to play wing) is finally showing up in the right moments. The system that scored 78 goals in 2024 is being rebuilt around the same star, with new wide creators feeding her. Two matches in, the prototype is working.

How Portland Wins Without the Ball

Five shots. Eleven for San Diego. Forty-two percent possession. Two-nil win. That number set is not a clinic. It’s a counter-punch.

The Thorns have won their last two matches while being outshot 30-15. That is the largest two-match shot deficit Portland has ever overcome in NWSL play. Sunday at Angel City: 10 shots to 19, Mackenzie Arnold made seven saves to tie her career high, Portland scored twice and won 2-1. Wednesday vs San Diego: 5 shots to 11, Arnold made the saves she had to make (the diving 24th-minute stop was the match-saver), Portland scored twice and won 2-0. The team is winning a specific way.

Vilahamn has built a Portland side that is comfortable letting the opposition keep the ball. Possession is not a stat the Thorns optimize. They optimize shots on target conceded (three to San Diego, three to Angel City) and finishing rate on shots on target (two of three Wednesday, two of seven Sunday). The math is brutal: if the opponent only gets three good looks at goal and you get three of your own, and your goalkeeper is the best in the league and your finishers are clinical, you win. That is the entire 2026 Thorns.

This was also identifiable in the 2-0 win over Seattle on March 20, the 1-0 at Washington on March 13, and the gritty 2-1 at Angel City on Sunday. It is the team’s identity. It is winning matches against teams that paid more for their attacks. It is built around Arnold (in form) and a back four that does not panic when the opposition has long stretches of the ball.

Three Clean Sheets, One Goalkeeper, Zero Drama

Mackenzie Arnold now has three NWSL clean sheets in 2026 through seven matches. The 24th-minute save Wednesday was the kind that gets replayed in February when somebody lists “five saves that won the season.” The Wave forward got behind. Arnold dove forward off her line and smothered. The match was 1-0 at the time. Had it gone the other way, San Diego draws level and the entire shape of the night changes. It didn’t. Three on target the rest of the way for the Wave. None past Arnold.

The 2023 FIFA Best Goalkeeper finalist is starting to look like a finalist again. Seven saves Sunday. The 24th-minute save Wednesday. Australia’s number one is having Australia’s-number-one type of months in the West End of Portland. That’s what an in-form goalkeeper looks like, and that is the most undervalued reason Portland sits first in the league.

What the Roster Has Already Produced That No Other NWSL Team Can Replicate

In the last five days the Thorns have produced four production milestones from new signings:

  • Carolyn Calzada made her NWSL debut Sunday at Angel City, played 90 minutes, picked up a yellow at 65’, and assisted the Pietra Tordin header that won the match.
  • Renee Lyles got her first NWSL minutes Sunday off the bench.
  • Marie Müller scored her first NWSL goal Wednesday.
  • Mimi Alidou recorded assists in back-to-back matches Sunday and Wednesday.

That is a five-day stretch where four players who were not on the team a year ago combined for four production milestones. Most NWSL teams cannot say that about an entire season. Portland is doing it in five days. The bench produces. The depth converts. The system gives those players the chances they need to deliver.

This is what an analytics-heavy front office looks like when it works. The Thorns did not buy a Ludmila or a Gabi Portilho. They bought a Müller, an Alidou, a Calzada, a Lyles. The cap savings went into Wilson coming back at full money and Arnold staying. The depth pieces were chosen to do exactly what they’re doing right now: contribute small percentages of damage to matches when the headline names are tired or covered.

The Five-Goalscorer Stretch

Here is the most underappreciated number from the last four matches.

Five different Thorns have scored: Reilyn Turner and Olivia Moultrie at North Carolina (April 4), Pietra Tordin and Sophia Wilson at Angel City, Marie Müller and Sophia Wilson at home Wednesday. Wilson is the only one to do it twice. No team can game-plan five different forwards/midfielders/defenders. That is the depth conversation in numbers. When Tordin gets covered, Moultrie scores. When Moultrie gets covered, Wilson finishes. When the headlines get marked out of the match, the defender scores.

The starting forward line of Wilson-Tordin-Turner has 10 NWSL goals between them in 2026 across seven matches. The supporting cast (Moultrie three, Müller one, plus assist contributors) gives Portland an attack that is layered, not top-heavy. San Diego has Lia Godfrey and the rest. Portland has Wilson and the rest, where “the rest” actually scores.

What This Says About the Race

Eidevall’s San Diego team will be fine. 5W-0D-2L is still a team in the top three. The Wave have lost their first two matches against teams that beat them tactically (Houston in the season opener, Portland on Wednesday). They are not a broken team. They are a deep team that ran into a hot Portland goalkeeper and a defender having a career night and a forward whose first home goal in 18 months was sitting there waiting to be scored.

Portland is the team to beat now. Five wins. Six conceded goals across seven matches. Three clean sheets. The home record is unbeaten. The road record (after Sunday) is at-or-above 50%. The bench is producing. The captain is steady. The goalkeeper is in form. The number nine is back. There is not a column in the standings that the Thorns are not currently winning.

What’s Next, and Why It Matters

Sunday at Chicago. SeatGeek Stadium. 10:00 AM PT on ESPN2. A 10 AM Pacific kickoff means Portland fans get up to watch the team that just sat alone at the top of the league play a Stars side that has been quietly competitive at home. After that comes Racing Louisville on May 8 and Bay FC at Providence Park on May 10.

The trip to Chicago is a trap. Top-of-the-table teams lose at 10 AM after Wednesday-night-at-home wins. Portland will need to bring the same shape that worked Wednesday. The Stars are not San Diego, which is a compliment to Portland and a problem for Portland: easier opponents are easier to underestimate.

First place in late April is a checkpoint, not the goal. Twenty-three NWSL matches remain. The summer is long. The U.S. Open Cup is coming. But Wednesday night was the kind of result a team gets when its plan is working — when the system, the goalkeeper, the captain, the depth, and the headline name all show up at the same time. Five different scorers. Three clean sheets. The best goalkeeper in the league. A defender who scored the opener. That’s how you win the league.

The team at the top of the table is the Portland Thorns. Wednesday night told us why.

By the Numbers

  • Possession: Portland 42%, San Diego Wave 58%
  • Shots: Portland 5, San Diego Wave 11
  • Shots on Target: Portland 3, San Diego Wave 3
  • Corners: Portland 4, San Diego Wave 5
  • Attendance: 19,806
  • Broadcast: CBSSN

What's Next

Players in This Match

Post-Match FAQ

What was the final score in Thorns vs San Diego Wave on April 29?

Portland Thorns 2, San Diego Wave 0 at Providence Park on Wednesday, April 29, 2026. Marie Müller scored in the 10th minute. Sophia Wilson scored in the 64th minute. Attendance was 19,806.

Did the Thorns take first place in the NWSL after beating San Diego?

Yes. The win moved Portland to 5W-1D-1L with 16 points. San Diego dropped to 5W-0D-2L with 15 points. The Thorns sit first in the NWSL standings as of April 29, 2026, per the league. Next match is Sunday, May 3 at Chicago Stars.

Was this Marie Müller's first NWSL career goal?

Yes. Per the Portland Thorns and the San Diego Wave match report, the 10th-minute strike was Marie Müller's first goal in NWSL play. Müller is a German defender who joined Portland from SC Freiburg in the Frauen-Bundesliga over the offseason. Olivia Moultrie assisted with a wide ball into the box. Müller's first-time shot curled into the far post.

Was this Sophia Wilson's first home goal since maternity leave?

Yes. Wilson's 64th-minute goal was her first at Providence Park since November 2024, per the Portland Thorns. It was also her second goal in two matches, after she scored at 90+5' at Angel City on April 26 — her first goal back from maternity leave.

Who assisted the Thorns goals against San Diego?

Olivia Moultrie assisted Marie Müller in the 10th minute. Mimi Alidou assisted Sophia Wilson in the 64th minute. Alidou now has assists in back-to-back matches.

What was the attendance at Thorns vs San Diego on April 29?

19,806 at Providence Park on Wednesday, April 29, 2026 for College Night, per the San Diego Wave match report.

What is the Thorns' record in 2026 after beating San Diego?

Five wins, one draw, one loss in seven NWSL matches. Sixteen points. First in the NWSL standings ahead of San Diego on points. Portland is unbeaten in their last five matches across all competitions and unbeaten at Providence Park in 2026.

How is Portland winning while being outshot?

Across the last two wins (at Angel City April 26, vs San Diego April 29), Portland was outshot 30 to 15 and won both matches by a goal or more. The Thorns are taking high-percentage chances, getting elite goalkeeping from Mackenzie Arnold (seven saves at Angel City, three on target conceded zero against San Diego), and converting at a clinical rate. Two of three shots on target found the net against the Wave.

How many clean sheets do the Thorns have in 2026?

Three through seven NWSL matches: at Washington (1-0, March 13), vs Seattle (2-0, March 20), and vs San Diego (2-0, April 29). Mackenzie Arnold made a key save in the 24th minute against San Diego, diving forward to smother a Wave attempt.

Who has scored for the Thorns in their last four matches?

Five different scorers across four matches: Reilyn Turner and Olivia Moultrie at North Carolina (April 4), Pietra Tordin and Sophia Wilson at Angel City (April 26), Marie Müller and Sophia Wilson at home vs San Diego (April 29). Wilson is the only player to score in consecutive matches in this run. The variety is the story.

When is the Thorns' next match?

Sunday, May 3 at Chicago Stars FC at SeatGeek Stadium in Bridgeview, Illinois. Kickoff 10:00 AM Pacific. Broadcast on ESPN2.

More Match Recaps

2-1
W
Apr 26 · Away · BMO Stadium
She's Back.
vs Angel City FC. Tordin 76', Wilson 90+5'
2-2
D
Apr 4 · Away · First Horizon Stadium at WakeMed Soccer Park
Score. Walk Off. Split the Points.
vs North Carolina Courage. Turner 12', Moultrie 33'
2-0
W
Mar 28 · Home · Providence Park
Cherry Blossom Day.
vs Kansas City Current. Moultrie 53' (pen), Turner 63'
1-3
L
Mar 25 · Away · Snapdragon Stadium
Tordin Might Be Pretty Good at This.
vs San Diego Wave. Tordin 8'
2-0
W
Mar 20 · Home · Providence Park
After Dark.
vs Seattle Reign. Tordin 28', Turner 37'
1-0
W
Mar 13 · Away · Audi Field
Moultrie Chose Violence.
vs Washington Spirit. Moultrie 52'
All Match Recaps →