Midway through the 2025 MLS season and the Portland Timbers find themselves 4th in the West after a 2-1 victory over St. Louis City SC on Sunday. The conditions at Providence Park were sweltering but that did not stop the Timbers Army, who was out in force with Pride night TIFO and chanting loud enough to create a breeze.

“We’ve overcome the impossible before,” Pride Night TIFO. (Photo by Diego G Diaz)
Portland was without Finn Surman, Maxime Crépeau, and Ariel Lassiter due to international duty and Zac McGraw and Jonathan Rodriguez due to injury. Dario Zuparic was on the starting back line in front of James Pantemis, back from injury, in goal.
The first half of the match was a disappointment to everyone on the Timbers side. The team dynamics seemed disjointed with an individualistic style of play in the assumption that it would be an easy home win due to St. Louis City’s lackluster season.
St. Louis City came to play despite the inhospitable conditions on the pitch. Zuparic made the first save of the game in the 3rd minute with a block on Akil Watts’ shot from just outside the box.

Timbers defensive half Joao Ortiz header goes narrowly wide. (Photo by Diego G Diaz)
Portland earned two consecutive corner kicks in the 11th minute with Joao Ortiz’s header just missing to the right on the first attempt. Both corners were served in by Santiago Moreno.
Head referee, Malik Badawi, wasted no time in issuing his first caution card early in the 13th minute to Jimer Fory. Fory had made hard contact with St. Louis’ Simon Becher with both of them going to ground. It was Fory’s 7th yellow card of the season but only his 2nd in the last 10 matches.
James Pantemis was put to the test for the first time in the 20th minute. Akil Watts sent a fast ball into Becher, just out from the corner of the 6-yard box. With a quick turn and kick, Becher sent a shot to the near side post, causing James to make a reaching save with his left leg.

Timbers’ goalkeeper James Pantemis back in the starting 11 after injury (Photo by Diego G Diaz)
Pantemis was at it again in the 27th minute with two huge back-to-back saves! João Klauss took the first strike from the left after a bad turn over by Joao on the penalty spot. James blocked with a low push save that was collected by Watts, whose shot was from the right on the 6-yard line. James shifted quickly and made another block save from the ground. Marcel Hartel collected for a 3rd shot that went wide.
Célio Pompeu took a shot for St. Louis City SC just 3 minutes later with a wide shot that Pantemis jumped to get a hand on.
A hydration break was called at the 33rd minute, giving Portland head coach Phil Neville a chance to get his team to regroup and get back to the game plan.
Santi took a shot directly at City’s keeper, Roman Bürki, in the 40th minute and David Ayala had his first attempt in the 41st that went over and to the left.
In the last minute of regular time, Timo Baumgartl was instantly shown a yellow card by Badawi when he hit Santi with a hard body tackle. Jimer Fory took a shot in the 45+4 that was saved by Bürki with an audible “pop” from his gloves from the strength of Jimer’s shot.
The first 5 minutes of the 2nd half had the fans expecting much of the same from the Timbers. There were shots on goal in the 47th, 48th, and 2 in the 50th by St. Louis City SC. The 1st missed, the 2nd and 3rd were saved by James, and the 4th just slipped by him.
Watts scored for City on a right footed shot after collecting a deflected header by Becher that was tightly defended by Miller. Watts’ shot slid into the goal just behind the heel of James Pantemis, who did not have time to adjust from the header attempt.
Going down 0-1 is not a new situation for the Timbers, who have given up the first goal in the last 3 matches. Finding motivation in the deficit, Portland rose to the occasion.

Antony takes the shot. (Photo by Diego G Diaz)
Antony turned up the speed and ingenuity in the 55th minute to find the equalizer for the Rose City. With a clever and highly skilled flick over the head of defender Tomas Totland. Fory sent a low pass to Antony and with a single touch, he popped the ball up and over Totland at the left side touch line, sprinted towards goal, and took the shot from just past the 18.
Phil Neville said after the match, “I think the last few games have shown another side to us that is really important in the long run, is the ability to come back from being a goal down, suffer some adversity, respond to the adversity…”
Respond they did! After their first substitutions of the night in the 63rd minute, Portland owned Providence Park. Kevin Kelsy took a seat, replaced by Felipe Mora, and Christian Paredes entered the match for Joao Ortiz.
City also made their first substitutions with a similar switch in players as the Timbers. Paredes and Mora made quick work of finding their place in the match. In the 66th minute a play started by Mora resulted in a Paredes shot that was blocked by Baumgartl.

Timbers defensive half David Ayala sends a long ball to the wing. (Photo by Diego G Diaz)
Simon Becher picked up a caution in the 68th minute after a nasty foul on Ayala. Ayala’s shot off his free kick was blocked by Watts.
Santi was able to get a shot off from the rebounded shot, but it was saved by Bürki. David DaCosta was not to be left out and also took a shot in the 70th that was also saved by Bürki.
Antony took a shot on goal 9 minutes later but missed by inches! Ayala had sent a long low ball into Antony, who had made a brilliant run to get behind the defenders to shoot, only missing just slightly to the left of goal.
Coach Neville made another substitution in the 81st bringing on Omir Fernández for David Da Costa. Fernández and Mora both had shots blocked in the 86th minute by Joseph Zalinsky.
Antony took one last shot in regulation time, but it was also blocked by Zalinsky. 7 minutes of stoppage time were added to the clock.
Portland continued to press, not being satisfied with a draw at home. Portland earned a corner kick in the 90+1 with service taken by Santi Moreno. In a play that was worked out in training earlier in the week, David Ayala finds his mark and scores the first Timbers corner kick goal of the season.
Phil made two substitutions at the 90+2 bringing on Diego Chara for Sani and Eric Miller for Juan Mosquera. Both Santi and Juan played the most minutes in the direct sun on the pitch, where temperatures hit 116 degrees.

Hydration break during a heat advisory match (Photo by Diego G Diaz)
When asked about the substitution strategy in regard to the heat Coach Neville said, “I think what helps is the drinks break because just before the drinks break we were thinking of doing a double substitution in midfield, you know, we got to that point where we thought we would need fresh legs – Diego was chomping at the bit… what that allowed us to do is get them over, get some fluids, get some nutrition and then they could go again.”
Kamal Miller fouled Henry Kessler in the 90+4 that resulted in him going in Badawi’s book. Phil joined him in earning a caution for protesting Kamal’s card. Mora would also earn a yellow before the final whistle for time wasting.
Xande Silva tried one last time to score for City in the 90+9 but his shot was blocked by Christian Paredes and the match was over with the Portland Timbers earning their 8th win of the season.

Portland Timbers at Providence Park (Photo by Diego G Diaz)