Portland Timbers vs. New York Red Bulls: Match Recap

Portland Timbers vs. New York Red Bulls: Match Recap
Photo Credit: Kelsey Baker

The Portland Timbers snagged their first MLS win since July 25 and their first home MLS win since July 5 as they emerged victorious over the New York Red Bulls at home by a scoreline of 2-1. Matias Rojas tallied a goal in his home debut, and after an equalizer by Emil Forsberg, Antony grabbed the winner for the Timbers.

Lineups & Prematch

Coming off of two straight draws and a two-week international break, Phil Neville kept everyone guessing with his starting lineup. For the second straight match, David Da Costa started on the bench. Portland's newest Designated Player Kristoffer Velde made his Providence Park debut starting once again in the number ten role. Matias Rojas also made his home debut, with Felipe Mora leading the line.

Bench: Muse, K. Miller, E. Miller, Paredes, Chara, Fernandez, Da Costa, Lassiter, Kelsy

With Felipe Carballo lost after just two games with an ACL injury, Joao Ortiz got the start next to David Ayala in the midfield.

Recap & Highlights

It was a bit of a late arriving crowd, but by the time the floodlights were turned up and the match was underway, Providence Park was in full voice.

Portland matched that energy by starting brightly, with two good-looking early forays into the box. Within five minutes, both Felipe Mora and Antony had chances in the box. Kristoffer Velde also looked lively in his first minutes on the Providence Park turf.

After eleven minutes, he thought he had found his first Timbers goal too – were it not for the offside flag.

11' Offside goal POR – Velde
The Timbers pounced on a Red Bulls turnover and found Matias Rojas off a pass from Mora. Rojas squared the ball to Velde for a tap in – but the goal was flagged for offside. After a VAR review which looked miiiiighty tight on replay, the call was confirmed and Velde's opener was chalked off.

It was a shame for many reasons: Velde's first goal, Rojas' great assist, and the overall great offensive move from the Timbers. Still, it didn't deter the Timbers in the first half. The boys in green still looked determined to score.

But so too did the Red Bulls. The offensive gameplan from the visitors was apparent: win the ball back and go direct and fast with passes into Portland's final third. There were a few moments where it found purchase in Portland's box with the Timbers midfield pushed high. But well-timed interventions from the likes of Finn Surman and Dario Zuparic neatly dealt with the danger.

At the other end, determination and skill would payoff as the two newest Timbers signings combined for the game's opening goal.

28' GOAL TIMBERS! – Rojas (1-0)
Velde did the hard work with collecting a throw in and then taking it himself to the end line, and then acrobatically lofting it back across the face of the goal. Mati Rojas rose like a salmon to meet the ball, sending a long looping header back towards the far post. Everyone, and I mean everyone (including you) froze and expected the header to fly wide and/or high. Except... it didn't! The ball nestled into the side netting and back of the net, and Rojas wheeled away in celebration and raised his arms to the heavens to receive the crowd's undulations.

Pictured: a very happy man who scored on his home debut | Photo Credit: Kelsey Baker

A brief VAR check confirmed what everyone in the stadium was celebrating: the Timbers justly taking the lead in the first half.

40' SAVE POR – Pantemis
Without having much to do through most of the first half, James Pantemis came up big when it mattered. After Sofo had slalomed into Portland's box, Pants batted down and smothered a hard shot.

That save was good enough to preserve Portland's clean sheet and their lead as the first half drew to a close.

HALFTIME: Timbers 1, Red Bulls 0

It's been a hot second since the Timbers went into halftime of an MLS game at home feeling good about life. They were far and away the best team in the first half, and deservedly snagged a goal for their efforts. Velde impressed, as did the movement and link-up play from Mora. Rojas of course scored the goal, but don't miss Joao Ortiz having a solid half in the midfield as well.

The game eased itself into the second half, with the flow from the first half essentially carrying over. Portland tried to impose their will early on, but soon fell off and New York grew into proceedings.

Phil Neville went to his bench to try to liven his squad up in the 55th minute.

55' Substitutions POR – ON: Kevin Kelsy, David Da Costa // OFF: Mora, Rojas
While he didn't grab a goal, Mora put in a strong shift with his runs and hold-up play. Rojas had his best game yet as a Timber, and he of course tallied his first goal in Timbers colors.

The substitutions came with some drama as Rojas was adjudged to have not come off the field quick enough. Portland subsequently was penalized by being forced to delay Da Costa coming on. There was a brief and bizarre period where Portland had to temporarily defend with ten men while Da Costa just stood on the sidelines, waiting to enter. It thankfully didn't lead to anything meaningful, but it sure confused everyone watching (including you) for a moment.

Unfortunately, those substitutions did little to wrestle back control of the match. The Red Bulls kept on charging, with wave after wave of attacks coming at the Portland backline. The Timbers were defending in their own laps, and couldn't break out.

And then in the 70th minute, the Bulls finally drew blood.

70' Goal RBNY – Forsberg (1-1)
On an attacking sequence that Portland failed to adequately clear multiple times, a pass in from Berggren took a deflection off of Joao Ortiz at the top of Portland's box. The ball fell to Emil Forsberg, who slotted home easily. After some consternation, confusion, and another VAR check, it was adjudged that since the last touch was off a Timbers player Forsberg was not offside. And so, Portland was pegged back to level.

It felt like the field was tipping dangerously against the Timbers. As Carlos Coronel made a great stop to deny Da Costa, it felt like all of Portland's good work in the first half was set to be unraveled.

It probably would have been – were it not for the timely return of a Brazilian to the scoresheet.

73' GOAL TIMBERS! – Antony (2-1)
Ayala pinged a ball wide to Mosquera, who whipped in a cross. The ball sailed just over a ducking Kelsy, and Antony was there to meet it at the far post for an easy tap-in. For the first time since returning from injury, and the first time since June 8, Portland's 2025 breakout offensive star found the back of the net again.

After yet another VAR check (the video ref must have had a quota to hit or something), the goal was confirmed.

I would be remiss at this point not to mention that when the "goal under review" notification flashed on the screen for the fourth time on the evening evening, the groans from the park could be heard by everyone in the greater Portland metro area (including you).

In the wake of the goal, Neville made more changes to refresh his side and try to see out the game.

75' Substitutions POR – ON: Diego Chara, Cristhian Paredes // OFF: Ayala, Ortiz
80' Substitutions POR – ON: Ariel Lassiter // OFF: Velde

With Portland back in front and now out of substitutions, the match entered its final act with the Timbers doing their damnedest to gut out their first league win since July. And since it was the Timbers, that final act would not be without it's share of stress and nervy moments.

The Red Bulls mounted one last flurry of charges, and Portland couldn't do quite enough to hold up the ball and kill things off as easily as they would have liked. But as the defense cleared another volley, and Lassiter made it a gritty and imperious run to the corner to hold the ball, it felt like Portland had just about reached the finish line.

After six minutes of stoppage time, that feeling was confirmed.

FULL TIME: Timbers 2, Red Bulls 1

The win was Portland's first in MLS play since July 25, and their first home win since July 5. Portland's 25-minute lull in the second half made proceedings a lot harder on themselves, and everyone (including you) could smell that New York equalizer coming.

For as concerning as that moment was, it was equally as encouraging to see Portland fight back and respond just three minutes later. That type of grit and resilience is what Portland will need to make the playoffs, and hopefully make a run once there.

Another encouraging moment was seeing Velde and Rojas continue to grow into the team. The latter scored his first goal for Portland, and the former is showing more and more the skill that Portland tagged him as a DP. If those two players continue their trajectory, the Timbers should be confident in their chances to lock up a top-seven spot in the Western Conference.

And the fact that we're taking about that this season should make everyone encouraged – yes, including you.

Read more