April in August

April in August
Cover photo credit to Jeremy Olson/ISI Photos.

The Portland Timbers will finish Year 50 without a win in Minnesota. And, reader, they came so close to breaking that duck (or loon?).

Recap

Minnesota’s style didn’t change, and the Timbers tried to take advantage of it 4 minutes into the game. Kristoffer Velde’s shot attempt turned into a whiff, but the ball carried forward and fell to Mati Rojas in the box, whose weak-footed shot was saved by Dayne St. Clair at the near post. Rojas had another attempt from outside the box in the 26th minute but it was hit directly at St. Clair. In the 35th minute, Rojas’ 3rd shot on target of the half came from a free kick, which bounced in front of St. Clair before getting pushed away and cleared. That clearance turned into a semi-counter for the Loons, ending with a Joseph Rosales shot from a tight angle that James Pantemis punched away. Portland had the better of the chances in the first half, but not any clear-cut opportunities.

The first clear-cut chance came in the 49th minute, and it went Minnesota’s way. Rojas was pressured and opted to play a backwards pass, but it turned into a through ball for Bongi Hlongwane. A square pass found a wide open Joaquin Pereyra, but the resulting shot was stymied by James Pantemis. Robin Lod latched onto the loose ball, and fired a second shot on target. It went through Pantemis’ legs but was deflected upwards onto the crossbar and away from the goal. The clearance found Rojas, who switched play to Antony who slipped a pass for Velde. The Norwegian carried the ball into the box and tried to beat St. Clair at his near post, but Jefferson Diaz recovered and blocked the attempt. Lod tested Pantemis again in the 66th minute at the near post on a feed from Pereyra, but the Canadian goalkeeper made another big save. In the 70th minute, David Da Costa intercepted a loose pass out of the back and found Velde, who fired a shot from distance to test St. Clair but Canada’s starting goalkeeper made the stop look routine. 

Portland’s first clear-cut chance came in the 75th minute. Diego Chara led a breakout from the back and played a long through ball for Velde. After two touches, Velde played a through ball to Antony to set up a 1v1 with St. Clair. Antony carried the ball into the box and tried to beat St. Clair at the far post, but the Canadian goalkeeper had successfully closed down the angle and didn’t even need to stick a foot out to deny the Brazilian. Finally, the Timbers found a breakthrough.

In the 80th minute, Carlos Harvey was leading a breakout attempt before David Ayala nullified it with a hard but clean challenge. Ayala followed up his hard tackle on Harvey with another hard tackle on Hlongwane, and the ball skimmed forward to Antony. The Brazilian carried the ball to the edge of the 6-yard box before playing a square cross to Felipe Mora. St. Clair got a hand on it, but the momentum of the cross carried past him and caused the ball to hit trailing defender Nicolas Romero, who bundled it into his own net. A much-needed goal, and a sunshine goal at that. Portland took a 1-0 lead, and now had to see out the rest of the game. 

That one-goal lead lasted a total of five minutes. In the 86th minute, Wil Trapp sent a long ball from the center circle into the box. It went perfectly over the shoulder of Dario Zuparic and fell right to Lod, who was making a vertical run through the center of the pitch. One touch to control, let the ball bounce, and one touch to finish past Pantemis at the near post. 1-1. 

The rest of the game passed without a major incident. After putting in so much work to take a lead, one long ball over the top took away three much-needed points.

A Paradox

Last year, after the Timbers drew 4-4 against St. Louis at Providence Park with a stoppage-time equalizing free-kick from Evander, I posed a question: should Timbers fans be excited by Portland’s refusal to surrender or angry for getting themselves into these holes to begin with?

Tonight’s game begets a similar question: is it OK to celebrate a good performance against a top team in the league or get angry about dropping two points on the road?

As you can probably guess, I have a foot in both camps. I’ll start out by answering the first question: yes, it is OK to be encouraged by this performance. Aside from a couple of poor decisions in the box and some humongous Pantemis saves, the Timbers deserved a win tonight. Their game plan worked out, the Summer Three looked bright, and they entered the final 10 minutes plus stoppage time with a lead. 

However, something is scratching at the back of my brain. This looked like a team in April rather than August. Because the Summer Three arrived so late in the season, they’re having to adjust on the fly. Each player is tasked with filling a big hole in the team as well, and are expected to start for the rest of the season. Growing pains are expected, but it does illustrate how desperate the Timbers are for these arrivals to come in and hit the ground running. 

It’s a very harsh reality that the Timbers are living in. They will make the playoffs. I believe that opinion is 100% certain. But they have to use these weeks leading up to the postseason as the adjustment period for the Summer Three. Tonight’s result ended a three-match stretch where the Timbers faced 3rd, 2nd, and 4th in the Shield standings. They may have only gotten two points out of those three games, but both draws came on the road. It is absolutely OK to be encouraged by the quality of this performance. However, this game happened in August, not April.

That’s where the second part of the question comes into play. I don’t believe that the Timbers are going to be dragged into a street fight for a playoff spot. But they do need to avoid the Wild Card Game, and holding on to all three points would’ve been a HUGE boost in that regard. Now they’re going into an international break after receiving a pretty severe gut-punch. So yes, this was a good performance in a state where they’ve never won a game. But those two points could be crucial in October. April games do not carry the same weight as games in August. Each hesitation, giveaway, strong tackle, clearance, or shot down the stretch is heavier in importance than a corresponding action during the team’s “teething” time in the spring. I’d feel a lot better about this game if it occurred in April. But it happened on an August night in St. Paul, and the points are more important than the performance. That’s the expectation for the rest of the season, and that’s what the Summer Three have to deal with. Tonight was good, but not good enough.

Player Ratings

James Pantemis: 9

Every time Pantemis starts a game, he does something incredible. Sometimes it's incredible in a bad way (SJ drop, TOR wall failure). But there's a reason why he's the most consistent goalkeeper on the roster: he makes saves. A draw likely wouldn't have been possible without the double save in the 49th minute. Additionally, the broadcast noted that the coaching staff is choosing Pantemis because of his improved ability to help the team play out from the back. Definitely something to keep in mind down the stretch. 

Juan Mosquera: 8

Mosquera's having a season that could earn him some Supporters' Player of the Year votes. His defensive output in this game was superb, and I'd like to highlight his recovery runs that nullified a few dangerous Minnesota counters. Did y'all know that he's the second-fastest player in Timbers history after Antony (per straight line speed tests)?

Finn Surman: Finn Surman

That rating began as a typo, and then I thought about it a bit and decided to keep it. His baseline is already at an 8, so consider this an 8. I didn't notice anything outstanding from him tonight, but sometimes a great game from a defender doesn't require any specific observations. 

Dario Zuparic: 7.8

I thought long and hard about this one. I really did. Objectively, Zuparic’s slow reaction caused the Timbers to drop points. But after some deep reflection and observation, I’ve realized that Zuparic isn’t the main culprit. I’ll get into that reasoning later this week. However, it is still a mistake, and it detracted from another good performance. He’s still Surman’s partner for the rest of the season in my eyes.

Jimer Fory: 8.5

Jimer Fory was brought to Portland specifically for games like this. Per the Stats (another typo but I'm a fan of referring to the numbers as an all-seeing entity so I'll allow it) he won 6 headers: 3 in duels and 3 clearances. However, I thought he won many more headers than what the Stats recorded, so I'm going to trust myself on this. It seemed like he made first contact on every Minnesota set piece. I know that isn't entirely accurate, but it felt like he was everywhere. 

Felipe Carballo: 6.7

The big story (aside from the result) was Carballo catching a reckless (not with intent) elbow from Pereyra that caused him to exit the game in the 43rd minute. With a two week gap between games, he has plenty of time to recover. He didn't exactly light this game on fire in his limited action, but still looked very comfortable. I liked his header to Kevin Kelsy on Portland's corner kick in the 30th minute. Good to see that energy on attacking set pieces. Not every bit of contact needs to be an attempt on goal. 

Diego Chara: 8.3

Carballo's replacement was the club captain, who put in another excellent performance. This was Chara's first extended period of game time (at least 45 minutes) since the Club America game. Keeping him sharp and healthy could pay dividends for Portland's playoff run. 

David Ayala: David Ayala+1

In a similar vein to Surman, Ayala's benchmark is around an 8. So I'm giving him a 9. On the ball, I saw through balls and switches. Off the ball, I saw crunching tackles. Portland's goal doesn't happen without back-to-back sliding challenges executed perfectly by "one of the league's best midfielders" (Neville's words, and also mine).

Matias Rojas: 7

Let's start with the bad part: playing a through ball to the opposing team is objectively bad. However, I can excuse it  because he still isn't on the same page as his teammates (and I'm not expecting him to be after only two games). What encouraged me the most were his three shots. All of them found the target, which gives his reputation as a long-range threat some actionable intel. 

Antony: No Rating

The Brazilian doesn’t get a rating today. He’s getting a picture instead.

This is commonly referred to as the Timbers cycle. It also applies to Antony, who is the personification of the 2025 Timbers. Just like how the Timbers can be brilliant, they can also be infuriating. Watching the highs of Antony (the recovery runs, 1v1 dribbling, and blinding speed) can be exhilarating. But then you factor in things like the missed 1v1, poor first touches when running, and subpar decision making and the picture becomes clear. For the rest of the season, Antony will not get a numerical rating unless he reaches one of the extremes of this chart. I’d qualify tonight’s game as a “we’re back” moment. Positives were on display more often than negatives, with his defense being the standout. 

I’ve already written a deep dive on Antony this year, but maybe I can add some more to the tale. Antony at his peak would be comparable to Denis Bouanga. A speedster with excellent dribbling whose mere presence and downhill aggression could create goals on its own. However, due to his excellent defensive work, he could occupy a tier above the Gabonese superstar. There’s so much to love about his tools, work rate, and raw physical ability. If this year is the breakout, I’m on the edge of my seat for 2026.

Kristoffer Velde: 8.7

I’d like to take a brief moment to shout out Portland’s social media team. They put a ton of love and care into everything they produce, and it often goes unrecognized in the wider scale of MLS. But I’d like to thank them the most for doing something so simple that other teams can’t seem to emulate: a starting lineup graphic with the correct positions.

When this graphic was released approximately 45 minutes before kickoff, some were confused about Velde’s placement. Surely the winger would play on the wing with Rojas as the 10? Well, the lineup graphic never lies. With Da Costa on the bench for some minute management, Portland’s other permanent DP took his spot. Not literally, but he did turn in a wonderful performance. 

I’d say that Velde’s outing was filled with creativity. It appears that he’s already formed a great connection with Antony given how many diagonals found the Brazilian in space on the left. But I’d like to highlight his biggest contribution to this game: his ability to draw fouls. Jair Marrufo called 13 fouls in Portland’s favor. Velde accounted for 6 of them. In addition, he completed 7/8 dribbles (excellent) and won 14/23 total duels (the most out of any player). Minnesota’s physicality didn’t scare him in the slightest. In fact, he appeared to level up.

Kevin Kelsy: 6.6

I thought Kelsy was pretty invisible during this game. 

Felipe Mora: 6.6

Ditto for Mora. Not a great game for getting service to the strikers. 

David Da Costa: 6.7

Aside from a free-kick missing the target and the pass to Velde to set up a shot from distance, Da Costa was also pretty invisible. The upcoming international break should help him recharge his batteries. After all, he’s already played a full season prior to this game kicking off if you count his Lens tenure. By the time Portland’s season ends, that consecutive playing time will increase to a season-and-a-half. Having games like tonight where he can get a brief rest will do a world of good as the playoffs approach.

Ian Smith: 6.6

Was it a bit surprising to see Smith as the substitute for Velde on the left wing? A little bit, especially considering Omir Fernandez was on the bench. But once Minnesota scored their equalizer, Smith didn’t offer as much of a counterattacking outlet as he probably should have given his advanced position. 

Eric Miller: 7

Mr. Reliable, meanwhile, completed all three of his passes and won a tackle. Good job.

Coach Rating: 7.5

The game plan was successful, and the starting lineup was fine. How much of a stink is it worth making about the double change in the 83rd minute? I don’t mind Neville’s effort to try and shut the game down, and none of the substitutes were at fault for the equalizer. But it did nerf Portland’s ability to counterattack. At the end of the day, it was a gamble that didn’t pay off.

Table Time

Colorado lost at SKC after entering halftime with a 2-1 lead. Good job, Wizards. Austin beat San Jose 3-1 at home with only two shots on target. LAFC hosts San Diego on Sunday night. I have nothing to say about the other Sunday game besides ACES. Overall, Portland got another “positive” result and the rest of the table held pat beneath them.

Final Whistle

However, Portland’s MLS winless streak has now reached four games. Some poor defending coupled with a lack of goalscoring have combined to produce this bad stretch of form. Like I said earlier, this would be fine in April while the team was still figuring out how to play together. With the quality of the opponents taken into account, this isn’t a bad stretch.

But it would be a lot easier to stomach if the Timbers were always able to play to the level of their opponent. The dropped points against bottom-dwelling sides will probably prove to be the most consequential over the long run.

And it’s OK to feel encouraged by this game. 

Portland has only lost twice in 13 matches to other playoff teams. One occurred while down a man, and the other was a truly terrible performance in San Jose. That San Jose loss is the only time that the Timbers have lost in 6 road games to a fellow playoff team. 

Two weeks from tonight, the Timbers will be back at home to face the New York Red Bulls. A week later, it’s a trip to Houston to begin the final three-match week of the regular season (Vancouver away and Dallas home). Only two games remain after that: a trip to the Fish Palace That’s Actually For Birds and a Decision Day finale at Providence Park against San Diego. Six games. Sixth place. The clock is winding down for the Timbers to climb, but the top four is only 5 points away. It isn’t over until it’s over. The climb continues.