CF Montréal and the Portland Timbers played out an entertaining 2-2 draw at Stade Saputo on Wednesday night, a fixture that swung back and forth before settling into a result neither side will love, but both had to work for.

Montréal made the sharper start and found the breakthrough in the 11th minute when Daniel Ríos finished to put the home side in front. It was an early reward for a lively opening spell from Montréal, who carried real intent in the final third and looked eager to unsettle Portland’s back line.

The Timbers responded well, though, and were back on level terms in the 21st minute through Kevin Kelsy. Portland had seen more of the ball overall and began to impose a steadier rhythm on the match, using possession to quiet the home crowd and push Montréal deeper.

Just when it looked as if the sides would head into the interval all square, Montréal struck a massive blow. Wikelman Carmona restored the hosts’ lead in the 45th minute, sending Stade Saputo into the break with the home side 2-1 up and seemingly in control of the contest’s key moments.

That first half edge reflected Montréal’s threat going forward. The hosts ended the night with 23 total shots, 8 on target and 7 corners, consistently finding spaces to test Portland despite having only 43.1 percent possession. Portland, by contrast, enjoyed 56.9 percent of the ball and won 9 corners, but needed patience to turn territorial pressure into clear openings.

The second half developed into a battle of nerve as Montréal tried to protect its advantage while Portland searched for another equalizer. The home side’s discipline came under pressure late on, with Jalen Neal shown a yellow card in the 68th minute, Prince Owusu booked in the 78th, Matthew Longstaff cautioned in the 81st, and Daniel Ríos also going into the referee’s book in stoppage time.

Eventually, the Timbers found their moment. Cole Bassett made it 2-2 in the 77th minute, capping Portland’s persistence and shifting the momentum again in a match that never fully settled. Bassett was later booked in the 83rd minute, but his goal had already done the damage from Montréal’s perspective.

There were no further breakthroughs in the closing stages, even as the match stretched into a tense finish. Montréal could point to the volume of chances they created, while Portland could take encouragement from their control of possession and their ability to come from behind twice on the road.

In the end, a draw felt like a fair reflection of a lively MLS contest: Montréal were dangerous and direct, Portland composed and resilient. Daniel Ríos (11′) and Wikelman Carmona (45′) got the goals for CF Montréal, while Kevin Kelsy (21′) and Cole Bassett (77′) earned Portland Timbers a deserved share of the points.