Full Circle

This one's for you, David Ayala.

Inside the furnace of Providence Park, the Portland Timbers emerged victorious. For the first time, St. Louis lost a game in Portland.

Recap

10 days of rest also translates to 10 days of rust. Although the Timbers have been struggling with passing and decision-making in the attack, those problems were exemplified in the first half. The biggest moment came in the 27th minute. James Pantemis began the sequence with a simple pass to Joao Ortiz just outside the box. Ortiz’s first touch was wildly off, and the ball fell to Joao Klauss inside the penalty area. Klauss’ shot was saved by Pantemis, but the rebound fell to Akil Watts. Watts’ shot was saved by Pantemis, but the rebound fell to Marcel Hartel, who shot it across the face of goal and out of bounds for a goalkick. At halftime, Portland was outshot 9-5, with only 1 of those attempts occurring within the box. St. Louis was ahead on xG, although 1.26 of their 1.37 xG in the first half came from that triple chance. Portland’s attack was lacking everything aside from decent ball progression. Getting the ball into the final third wasn’t a problem, but creating chances was a struggle.

St. Louis had a stronger start to the second half than Portland, and their hard work was rewarded with a deserved goal. Klauss missed a golden volley in the 47th minute. No, that wasn’t St. Louis’ goal, but it was rather humorous. Their goal came 3 minutes later. Klauss played a through ball to Celio Pompeu, who cut it back to Watts at the top of the box. The resulting shot was saved by Pantemis, and the rebound was chased down by Antony and Tomas Totland. The Norwegian fullback used an excellent body feint to create space for himself and lose Antony. His resulting cross towards Simon Becher was blocked by Kamal Miller’s extended left foot, but the ball settled just outside the six-yard box. Watts, a former Timbers academy player, scooped it up and beat Pantemis at his near post. A chaotic goal, but a goal nonetheless. Portland had plenty of opportunities to clear the ball, but St. Louis just wanted it more. But no one was more eager to atone for his mistake than Antony.

Five minutes after the Raviolis took the lead, Antony received a pass on the left sideline with Totland marking him. This gave the Brazilian an opportunity to perform his trademark move: the dribbled chip. With his back to Totland, he flicked the ball over the Norwegian’s head and into space. No one stepped out to meet him, and Antony drove into the box before firing a beautiful curled postage stamp past Roman Burki. 1-1, 55 minutes gone.

What followed was a period of Timbers dominance. It was Burki’s turn to make a double save in the 70th minute; pushing aside shots from Santiago Moreno and David Da Costa. But Portland continued to force St. Louis further and further back towards their goal. At this point, either team would be disappointed to drop points. The Raviolis would rue the missed chances from the first half, while the Timbers wouldn’t be happy that their continued pressure failed to result in a winner. But in the second minute of stoppage time, everything changed.

Antony dribbled past 2 St. Louis defenders in the box, which forced Henry Kessler to clear the ball behind for Portland’s 7th corner kick of the game. Lucky number 7, more like. Santiago Moreno delivered an inswinging ball to the penalty spot. And the sea parted for David Ayala, who volleyed home an uncontested shot past Burki for a late go-ahead. That goal would hold up, despite some desperate attempts from the Raviolis to find an equalizer in the 5 remaining minutes of stoppage time. It’s Portland’s second consecutive 2-1 victory, and a huge three points earned.

Set Pieces!

Those points were mostly earned through set pieces. Sure, Pantemis’ huge saves and Antony’s moment of brilliance directly impacted the scoreline, but Portland’s trend of strong defense from dead balls has to be recognized.

Per WhoScored, the Timbers have only conceded 3 set piece goals all year. None of them came from corner kicks. James Pantemis gave some insight into the drastic improvement in dead-ball defense after the game:

“It was something that we weren’t proud of last year. We conceded way too many goals for our liking. We lost too many points, I would say, last season for it. And it’s something we put emphasis on from the get go. It was videos right off in preseason watching what we were doing wrong, what we need to improve, and I think this year we’re doing a lot more situational corners in the game. So sometimes we do maybe walk throughs last year but this year we’re live, we’re going, balls are coming in. You have to defend and then there’s, I don’t want to say punishment if you let a goal in but your team will lose the game and obviously you don’t want to lose in training, you don’t want to lose in the game. So we’re kind of replicating what it would feel like to concede a goal and I think so far it’s translating really well.”

Portland’s defensive set piece record has held strong even with the absence of Finn Surman, the Human Eraser. St. Louis scored 4 of their 14 goals (prior to this game) from dead balls, so the Timbers’ effectiveness in this area of play is even more significant. After Ayala’s go-ahead goal, the Raviolis kept sending long balls into the box from free kicks. Portland defended every single one.

Of course, this game was won from a corner kick. Let’s break it down.

The Apple broadcast decided to use this angle for the moment that Moreno hits the ball. Although the angle objectively stinks for analysis purposes (the pride flag on the corner is cool), it is rather illuminating. You can already see an unmarked Ayala at the top of the box. It’s too grainy to pick out all of the other Portland players, but I notice one making a run towards goal to open up space and another holding strong at the near post.

Here’s where the ball is one second later. I had to break out the red circles again. Another grainy photo isn’t optimal, but I can still work with it. Ayala is barely recognizable but he’s charging at the penalty spot. Felipe Mora is also in his hemisphere, but he’s blocking STL left back Jayden Reid from being able to impact the play. Excellent work. Only Tomas Ostrak (obscured by the referee) has an opportunity to disrupt. But the play has developed way too fast, and he’s already too far behind.

Here is the moment that Ayala makes contact with the ball. It takes a serious amount of skill to hit this whipped cross on the volley and place it exactly where he wants to. But Ayala is ready for it, and his finish is perfect. An open look was created by Ayala’s run and the efforts of his teammates to create the space for him. It’s right off the training ground. I couldn’t be happier.

The Hypothesis

For the second home game in a row, the Timbers registered a field tilt of at least 2:1. The 67-33 against Colorado was followed by their best mark of the season (75-25). I’m not going to calculate the running totals until the home and away matches have evened out (August 30th in Minnesota is the equalizing game), but it is very encouraging to see dominant second halves in back-to-back games. It’s still a waiting game to see a complete performance in 2025, but it should come sooner than later. Morale is always boosted following a stoppage-time winner. And the Timbers fully deserved it.

Player Ratings

James Pantemis: 9.3

I'm going to begin by stating the obvious: it didn't look like he missed a step despite being absent for a month. That's incredible. 7 saves and 0.96 goals prevented. It speaks for itself. However, I am going to nitpick a little bit. First of all, I think Watts' goal was saleable. But I'm going to give Pantemis a pass due to the fact that he'd already snuffed out several big chances. One was bound to go in. The second nitpick has to do with the pass that led to the Ortiz turnover and the double save. It was a bit of a hospital ball. Although Ortiz definitely should've done better, I don't like Pantemis' choice to play that pass. Either way, tonight's Pants performance was outstanding. Despite several defensive calamities in front of him, he held strong.

Juan Mosquera: 7.2

Throughout 2025, Mosquera has taken 9 shots. Only 3 of them have found the target, and two of those were in one game. He had a pretty good chance in the 59th minute, but was unable to get a good strike on a bouncing ball. I see the vision though. He tried to spike it into the turf with his foot to test Burki. That's a smart choice, but the execution was lacking. I thought he did a good job defensively, but he wasn't outstanding. It was the right choice to substitute him after Ayala's goal because of some plainly obvious cramping.

Dario Zuparic: 6.8

During the first half, Zuparic was arguably Portland's second-most effective attacker behind Santiago Moreno. That says a lot about the other forwards, but not Zup. The Croatian did what he always does: carry the ball out from defense and look for line-breaking passes or other long balls over the top. I thought he was a very effective distributor, and it isn't his fault that the other forwards couldn't work with what he was giving them.

However, that tendency to carry the ball out of the back also shows up in his transition defending. Rather than dropping deeper, Zuparic prefers to step out of the backline to make challenges. Sometimes that works, but it commonly leads to an extra attacker getting behind him and a through ball to said attacker. There were plenty of instances when this occurred tonight. I like the confidence Zuparic brings to the table, but it can often backfire on his teammates.

Kamal Miller: 6.7

Miller had to do a lot of reacting, and I didn't notice a standout play from him in this game. Well, I do remember a terrible turnover he had in the 3rd minute, but that's not the definition of "standout" that I'm using. Aside from a couple of good headers, he was largely anonymous.

Jimer Fory: 7.8

Jimbo (yes, I'm giving him that nickname) was superb in the air today. However, that observation doesn't reflect in the stats. 1 out of 6 aerial duels won? Nonsense. He won plenty of headers and most of them were free headers. In addition, he assisted Antony's wondergoal with a simple pass to feet before the Brazilian did the rest of the work. I'll take it! After Ayala scored the winner, the rest of the team mobbed him by the corner flag. You can hear Fory scream "Vamos!" to the crowd. I liked that. He also got booked again (sigh), but did an excellent job of finishing the game without getting into foul trouble. No persistent infringement, no risky challenges, and another excellent full 90 performance among the heat.

Joao Ortiz: 6.7

That giveaway was capital B Bad, wasn't it. However, I would like to highlight a counter-saving tackle he made in the 18th minute. It's a shame that the first impression of Ortiz was Jayden Nelson blowing by him in the season opener. The Ecuadorian has serious open-field speed. I've praised his ability to spot an entry pass before, but he's still very untidy on the ball. It can be improved, but I have a feeling that his leash is a bit short.

Santiago Moreno: 8.4

If you were watching MLS Countdown prior to kickoff, you probably noticed Dax McCarty express some (well-deserved) skepticism towards Portland's attack. His main argument centered around the lack of a true alpha (not going to let the chuds ruin that word, no sir) dog in Portland's forward corps. Well, if Santiago Moreno can consistently play like he did today, the Colombian can absolutely be a focal point of Portland's attack.

Does this stat seem real to you? Well, it is. This is Moreno's 4th full season in Portland, and he's been one of the more consistent producers on the team. Tonight's assist came from a perfectly delivered corner kick. Meanwhile, he was the driving force behind Portland's attack in the first half. He constantly kept driving forward and looking for through balls into the box. His decision-making isn't as sharp as it should be, but you can't deny how dangerous he is on the ball. What a performance.

David Da Costa: 6.5

Yikes. After a brilliant outing against Colorado, Da Costa was reduced to a non-factor tonight. There's no panic button to push, but it is a little concerning. Neville made the right choice when he decided to take Portuguese Dave off the pitch in the 81st minute of a tied game. A bounce-back against San Jose on Friday would be very welcome.

Antony: 8.5

It’s time to introduce the Antony Meter.

I think it speaks for itself. If you have any potential changes, please leave them in the comments. It takes a special goal to potentially steal Goal of the Season away from a bicycle kick, but I’m pretty sure that Antony’s capital G Golazo has taken the lead. I hate having to choose between Moreno’s bike and Antony’s worldie, but it has to be done. And there’s still 17 more games for any other Timbers player to surpass them. Good Lord.

Antony’s 2025 has a baseline: would you like some ball recoveries? At the very least, he’s putting in maximum effort on the defensive side of the ball. Tonight’s goal takes his season tally to 6g/5a in 17 games. That translates to 12g/10a over a full season. Outstanding.

Kevin Kelsy: 6.9

Big Kev did everything except scoring a goal. Mosquera's 57th minute cross that flew across the face of goal was perfectly placed for the Venezuelan to finish. Alas, he did not, but he put in an incredible shift off the ball. That includes both sides of the ball. Kelsy was one of the few Timbers who was willing to make off-ball runs into the box during the first half. Meanwhile, he picked his spots to press before going all-out after St. Louis took the lead. Dealing with Kelsy barreling towards you must be like facing an oncoming train. How many strikers are winning both of their attempted tackles?

Cristhian Paredes: 8

Some games are built for Cristhian Paredes. This was one of them.

Seriously. This chance doesn’t happen without Paredes’ pressure. Portland's press came to life when Paredes entered the game. I have nothing else to add. When the game plan plays to his strengths, he becomes unstoppable.

Felipe Mora: 7.2

Mora touched the ball 13 times and created 2 chances. It was a solid showing from the Chilean off the bench. And it must have been even sweeter with good friend Diego Valdés (yes, the Club America midfielder) watching from the stands. However, some indecisiveness in the box cost the Timbers a chance to take the lead in the 90th minute. Just shoot the ball. Taking a shot inside the box is never a bad thing (don't quote me on that).

Omir Fernandez: 7.6

Tonight's game marked Fernandez's 10th Timbers appearance. They really played a lot of games in the month of May, huh. He hasn't registered a goal contribution yet, but he makes a positive impact in every substitute appearance. His work off the ball improved Portland's press and he nearly gave the Timbers a lead in the 86th minute (only to be denied by Burki). That first goal involvement is coming. It's only a matter of time.

Eric Miller: 6.7

As a stoppage-time sub for a cramping Mosquera, Miller's job was to protect the lead. He succeeded in that task. Good job, Mr. Reliable.

Diego Chara: 6.6

The captain was also a stoppage-time sub, replacing an exhausted Moreno. I'm going to say something that might be controversial: Diego Chara is a starter. There is a massive difference between starter Chara and substitute Chara. Usually when the captain comes off the bench, it takes him a while to get adjusted to the speed of the game. So a cameo like today's could actually backfire. Not the worst thing in the world, but it is noticeable. Either way, the Timbers can count their blessings because he finally has an heir apparent.

David Ayala: 10

I had to save Ayala for last for obvious reasons.

On April 29th, 2023, the Portland Timbers traveled to St. Louis for the first time. Young midfielder David Ayala, fresh off two stellar performances against Seattle and Cincinnati, fell to the ground while clutching his knee. Every single person watching the game knew exactly what had just occurred. It was a gut punch for the young Argentine, for he had just torn his ACL. As the Timbers finished the 2023 season without their best midfielder (yes, he was their best midfielder in 2023 prior to the injury), his return was heavily awaited by the fanbase. He made his return in the season opener against Colorado and immediately set out to make up for lost time. A stellar 2024 set expectations sky-high for Ayala in 2025. With today's goal against such a painful opponent, the best midfielder in the league has come full circle.

It’s no longer tongue-in-cheek to call Ayala the league’s best midfielder. A serious case (eyeball emoji) can be made for it. Today was his true coming out party. He can no longer be ignored. On the biggest stage (Sunday Night Soccer), he completed the circle that began with that ACL tear in April 2023.

A top-tier performance like this deserves a Stathead check. Today’s criteria: 1 goal, 60/62 passes completed (96.8% pass accuracy), 8 out of 9 accurate long balls (88.9% accuracy), 6 recoveries, 4 interceptions, 2 fouls drawn. Is that too many parameters? I don’t care. That’s a complete performance from a complete player.

He stands alone. Maybe I can remove one of the criteria in order to give other players a bit of a chance. Let’s take away the drawn fouls.

OK, OK, maybe that was too much. I’m going to take the goal away. It’s very rude, I know, but I want to see how much of a separator scoring a goal is in the data set.

Apparently it’s a pretty big one. And look who joined him. He is the second-youngest player to record this statline after Jhojan Valencia (who the Timbers were interested in at one point). Hell yes.

The goal stole the headlines. But his through ball to Antony in the 79th minute made me even more excited. Think about that. A game-winning goal wasn’t as exciting as a through ball. Only David Ayala could do that. You know what? I already clipped it, but I’m going to put it in this section too. A double post? That’s Timbers heritage.

Ignore him at your own peril. Other teams certainly aren’t. I expect his next contract extension to take him off the U22 tag. He deserves it. Players like him don’t come around every day.

After the game, I asked Ayala about scoring the winner against St. Louis after coming back from his ACL tear. “Whenever I play St. Louis, I get some flashbacks.” Having the mental strength to overcome those setbacks is admirable. I hope that those flashbacks are replaced by that game-winning goal. Out of everyone, he deserved that winner the most.

Coach Rating: 9

The baseline is set at an 8.5 after seeing a set piece from the training ground being executed to perfection at a perfect time in a competitive game. Phil Neville credited Shannon Murray and Dave van den Bergh for their work with the team on that specific play. But I’d like to highlight an obscure stat that speaks to Neville’s identification of a “team-first” mentality.

Across all 30 teams in MLS, the Timbers have the fewest “matches as an unused sub” in the league. In simple terms, that stat tracks how many players do not see the field in a match across all matches. Their number is 64, which is 2 fewer than Cincinnati and 3 fewer than Vancouver. The ratio of unSub per game (yes, that’s what FBRef calls it, they must really enjoy CBS serial (killer) dramas) is 3.76. MLS benches can only hold 9 players. One of which is a goalkeeper, and goalkeeper subs are rare. The Timbers did use a concussion sub (the only permitted 6th substitution) against Seattle, but even with that removed they still hold the lowest mark in the league. Neville is not afraid to use all of his substitutions, and he often does. In addition, he rarely makes a bad change. The 2025 Timbers are a collective unit, and Neville’s substitutions are the best evidence of that.

Table Time

Wait a minute. This can’t be correct. The Sounders were playing a Vancouver team with 10 players out due to injury and international duty and the remaining players were still recovering from stomach flu. Does this say that they lost? Are you sure? That can’t be right. Let me check the box score.

TWO RED CARDS IN THREE MINUTES? You know what? I must apologize. Their relentless desire to innovate has pushed them deeper into a hole. I guess you have to hand it to them. Vancouver has extended their Cascadia Cup lead, and I’d be perfectly fine if the Timbers and Whitecaps kept politely handing each other the trophy each year. “Here, you have the Cup.” “No, you can have it.” “Seriously, I insist.” And the cycle keeps going on and on as the Sounders inevitably raise a banner for earning the right to get pantsed by Botafogo, Atletico Madrid, and PSG on their home turf while sharing a miniscule amount of the prize money with the players. They should probably invite paratroopers to the ceremony, but what do I know? I’m just a writer.

Meanwhile, the Timbers have secured 4th place for another week. They welcome San Jose to Providence Park (where the Earthquakies (this was a typo but I like it so I’m keeping it) have never won a game) on Friday night. LAFC has a game in hand, and their recent conquest of Club America in a one-game playoff for a Club World Cup berth will add some serious fixture congestion and increase those games in hand over the coming weeks. But those are hypothetical matches, and the Timbers are in 4th place. That’s pretty cool. Quick Asterisk note: the Timbers would probably be in second if that penalty is awarded against the Galaxy. I told you it would still be important as the season goes on.

Final Whistle

How about some more evidence that the 2025 Timbers are still being powered by friendship? Every single senior player (aside from Trey Muse) who has made the matchday squad has appeared in a match. Out of those players, no one has played in less than 4. Competition for places is one thing, but each player knows that there is a serious chance of them getting playing time every week. It doesn’t breed complacency, but it does raise the level of competition. That’s good management.

There is a stick to go with this carrot though. The first half featured an entire attacking unit (aside from Kelsy) deciding not to make off-ball runs to break apart St. Louis’ block. It could be a factor of the heat, but it’s a pretty common pattern for Portland. It isn’t a coincidence that Antony’s goal came from a direct attack created entirely by himself and the winner was from a dead ball. Breaking down a block is still a weakness, and a lack of runs is doing them no favors.

However, the Portland Timbers have won back-to-back games are in 4th place. They aren’t winning games in a pretty fashion, but a win is a win. After the game ended, Neville said that he prefers stoppage-time winners instead of 3-0 victories. The Timbers need to have both clubs in their bag if they want to be taken seriously. But sometimes you just need to take yourself seriously and play your game. When you do that, the wins will come. Tonight was about David Ayala, but it was also about the Timbers reaching the halfway point of the season with 29 points in 17 games. Last year, they found ways to lose games. This year they’re finding ways to win. The climb continues.