The Portland Timbers did what they always seem to do in Houston, Texas: Drop points.
After taking a first half lead through Gage Guerra, the Dynamo scored two goals to take a 77 minute lead. Kristoffer Velde's first regular season goal brought Portland back level three minutes later, but Mateusz Bogusz popped up with a game-winning dagger in the 15 minute of second half stoppage-time to secure all three points for the home side.
Prematch
Phil Neville welcomed three starters from injury (David da Costa, Diego Chara) and suspension (Jimer Fory), but lost another as the injury bug continues to plague the Portland Timbers at the start of the 2026 season.
New additions Cole Bassett and Alex Bonetig miss their second consecutive match through an ankle and thigh injury, respectively, and debutant goal-scorer Eric Izoita, 18, wasn't called up to the first team for the trip to Houston after Neville called him the "best player on the pitch" against the Vancouver Whitecaps.
The Timbers officially announced the signing of defensive midfielder Jose Caicedo from Liga MX side Pumas UNAM this week, and while the Colombian made the trip with the squad, missed out having not secured a visa in time for the match.

Kristoffer Velde, Finn Surman, Brandon Bye, and James Pantemis remain the only four players to start in all four of the Timbers' matches this season, with Diego Chara, Gage Guerra, and Jimer Fory featuring in three out of the four fixtures.
Ariel Lassiter replaced Antony in the starting XI, with both Alexander Aravena and Da Costa operating as the two "playmakers" to link the defense and attack. Guerra starting over Kevin Kelsy and Felipe Mora was probably the biggest surprise in the lineup given the partnership between Kelsy and Velde described earlier this year.
Match Highlights
5' - Da Costa carried the ball up the left, dragging several Houston midfielders toward him, and found Aravena 25 yards from goal. He took a touch to set himself up, but his low effort didn't have the requisite placement either side of Jonathan Bond to trouble the 'keeper.
24' - Kamal Miller was shown the first yellow card of the match for a late challenge.
41-42' - The Timbers once again worked the ball well up the left side of the pitch, before getting the ball to Aravena inside the penalty area. The Chilean rolled the ball onto his right foot, and sent a shot goal-bound that one of Houston's defenders was able to head over the crossbar.
From the resulting corner, the ball was whipped into the box at the second attempt on to Surman's head, forcing a diving save on the line out of Bond in Houston's net.
45+5' - Ariel Lassiter was shown a yellow card for something that I still haven't seen, because Apple TV's broadcast feed was zoomed in on the sideline while the sporting event they were broadcasting was taking place.
45+4' Goal POR, 1-0 – The Timbers were awarded a penalty after a lengthy VAR review caught Dynamo defender Diadié Samassékou hauling Finn Surman to the ground inside the box while a Lassiter corner was being delivered. Velde stepped up to the spot and saw his effort saved by Jonathan Bond, but Gage Guerra timed his run to perfection, and tucked the rebound in off the post.
HALFTIME: Houston Dynamo 0 - 1 Portland Timbers

The Timbers took a one goal lead into the break, and their play through 45 minutes was good for a lead. David da Costa's return to the team brought a noticeable energy to the midfield and attacking players, connecting the back to the front with his close control, passing range, and desire to drive forward with the ball at his feet.
Guerra's had some high-profile misses in the first few matches of this fledgling season, but his work rate to follow Velde's miss and capitalize on Bond spilling the penalty into a dangerous area is why he continues to be selected from the jump.
Overall the Timbers did a great job controlling the half with their possession and chance creation, and managing the danger Houston brought to the match with solid positioning off the ball and on set-pieces.
50' - Brandon Bye produced a vital block on Mateusz Bogusz charging down on goal to deny a certain Houston goal. Bye's effort to get across the box following the winger's slaloming run into the box was nothing short of extraordinary.
58' - Jimer Fory became the third Timbers player booked for a high elbow while challenging for a 50/50 aerial duel.
62' Goal HOU, 1-1 – The hosts scored the equalizing goal following a sustained period of pressure to begin the second half. Duane Holmes crossed a ball into the box that was cleared, but recycled out to Bogusz, who looped a deep cross to the far post that was headed in by DP winger Guilherme.
Brandon Bye was caught underneath the cross, and the way Guilherme headed the ball down and into the ground made it look like slow motion as it passed Pantemis' outstretched arm into the back of the net.
63' Substitution POR – David da Costa's return lasted just over an hour before being replaced by Joao Ortiz in midfield.
65' Post HOU – A short corner routine from the Dynamo was worked to Jack McGlynn 20 yards from goal, and the Houston midfielder wrapped a venomous strike onto the crossbar with his dangerous left boot. After conceding goals from outside of the box to Diego Rossi on matchday 1, and Hamzat Ojediran matchday 2, you'd really think the Timbers would start sending bodies out to close the opposition down...
69' – Jimer Fory got forward on the left and picked out a beautiful looping cross for Ariel Lassiter at the far post. I think Lassiter was caught in two minds as the ball floated down to him, and probably should have gone for a diving header instead of a tame attempt with his left boot that trickled harmlessly wide of net.
71' Substitutions POR – Felipe Mora, Ian Smith ON // Lassiter, Aravena OFF
77' Goal HOU, 2-1 – The Timbers did not start sending bodies out to close the opposition down outside the box, and this time Dynamo left back Felipe Andrade was the beneficiary of Portland's slack defending.
None of Guerra, Ortiz, or Chara got close enough to him as he strolled toward the top of the 18 and curled a low strike into the bottom corner.
80' Goal POR, 2-2 – With the momentum dial turned all the way up in Houston's favor, the Timbers found a perfect response to going behind from a scarcely-used aspect of Neville's tactics.
Jimer Fory lined up a long throw into the box, which Felipe Mora knocked down into a crowd of bodies. The ball ping-ponged off feet and shins before rolling out to Velde, who took a touch before rifling in an equalizing goal for the Timbers – his first scored in the regular season after arriving in Portland last summer.
85' – Felipe Mora was cautioned for a high elbow challenging for a 50/50 aerial duel.
86' – The Timbers gave away a soft free kick about 30 yards from goal, aka "Jack McGlynn range." The Dynamo midfielder stepped up and curled a shot over the wall, but Pantemis flew across his line to touch the ball behind for a corner.
90' Nine additional minutes of second half stoppage time added
90+3' Red Card HOU – Houston played a pass into the box that Pantemis came out to smother at the feet of Nick Markanich, but the Houston substitute made significant contact with Pants' head, causing a cascade of blood to pour out of Pants' head. The referee immediately reached into his back pocket to send Markanich off, and after six minutes of bandage work from the medical staff, Pantemis resumed play with the Timbers up a man and a lead to go get back.
90+9' Substitution POR – Kevin Kelsy ON // Gage Guerra OFF
90+11' - Mora picked the ball up outside of Houston's box and scooped a pass with the outside of his boot to a wide-open Brandon Bye on the far side. Bye took a touch to settle, but too long to get a strike off, which was blocked behind for a Timbers corner.
The Timbers sent that corner into Kelsy in the box, forcing a point-blank save out of Bond on the line, before Surman's second effort was cleared off the line by another Dynamo player and cleared to safety.
90+15' Goal HOU, 3-2 – *sigh*
The Dynamo sent a route-one prayer up to Bogusz 1v1 with Brandon Bye, who slipped catastrophically trying to judge the flight of the ball allowing Bogusz a free run into the box where he curled home the game-winner. Brutal.
FULL TIME: Houston Dynamo 3 - 2 Portland Timbers

There will be more thoughts from us in the coming days, but in the immediate aftermath of this result it's hard to believe the jubilation of opening day was only three weeks ago.
The way the game ended is just a gut-punch. To the supporters, to the players, to the coaching staff – really everyone invested in the club. After four games the Timbers will finish the weekend at 14th in the Western Conference on 3 points from a possible 12, having conceded 11 goals in the process.
"The frustration is that for all of the good plays ... it was a couple of mistakes that have really cost us and, you know, we're going through a tough moment," said Neville. "The dressing room's hurting and I take full responsibility for that."
Were there positives from the match? Sure. Are the likes of Cole Bassett, Alex Bonetig, Jose Caicedo, Antony, and Juan Mosquera due to be back for next weekend's home fixture against the LA Galaxy? Yes they are. But there's a bitter, hopeless feeling building within the fanbase after another gut-wrenching loss sustained by this team.
That's only going to change with results. It's all well and good to say "we did this or that well," but at the end of the day it's a business centered around results, and through two seasons and four games of Phil Neville's tenure, the results simply haven't been consistent enough.