CF Montréal and Portland Timbers played out a 2-2 draw at Saputo Stadium in a match that swung wildly in momentum. The hosts dominated possession and chances, racking up 23 shots to Portland's 14, with eight of those finding the target. Wikelman Carmona was the standout performer for Montréal, earning a rating of 9.2 from the official match assessor. Despite being the better side for large stretches and leading 2-1 at the break, Montréal couldn't close it out. Portland grabbed an unlikely equalizer to leave both sides with a point apiece. The Timbers made their limited opportunities count, showing the kind of clinical finishing that kept them in the game despite being second best for most of the 90 minutes. Nine corners to Montréal's six gave Portland chances to exploit their height, and they made it pay when it mattered. It's a frustrating night for the home side given how much of the match they controlled, but they'll take the draw over defeat.
The Matchup
CF Montréal and Portland Timbers drew 2-2 at Saputo Stadium, in a game that could easily have finished either way. Neither team could really take control of the ball for long, with CF Montréal holding 43% possession, close enough to an even split to explain why the game never settled into one side's favour. Both sides had spells on top without ever pulling clear, and the shot count on the day backs up just how tight things were. A draw is rarely the result either team sets out to get, but on this occasion it was a fair reflection of ninety minutes where chances were shared roughly evenly. Below is a closer look at exactly how the numbers from the match broke down.
Man of the Match
Match Statistics
Match Events
| Min | Team | Card | Event | Score |
|---|---|---|---|---|
| -5' | CF Montréal | Daniel Rios | 0-0 | |
| 9' | Portland Timbers | Substitution — J. Caicedo on, D. Chara off | 0-0 | |
| 11' | CF Montréal | Goal — D. Rios (assist: M. Longstaff) | 1-0 | |
| 21' | Portland Timbers | Goal — K. Kelsy (assist: K. Velde) | 1-1 | |
| 35' | CF Montréal | Substitution — O. Escobar on, S. Piette off | 1-1 | |
| 45' | CF Montréal | Goal — W. Carmona (assist: M. Longstaff) | 2-1 | |
| 59' | Portland Timbers | Substitution — A. Aravena on, Antony off | 2-1 | |
| 59' | Portland Timbers | Substitution — J. Fory on, I. Smith off | 2-1 | |
| 68' | CF Montréal | Jalen Neal | 2-1 | |
| 69' | CF Montréal | Substitution — W. Carmona on, Ivan Jaime off | 2-1 | |
| 69' | CF Montréal | Substitution — D. Rios on, P. Owusu off | 2-1 | |
| 77' | Portland Timbers | Goal — C. Bassett | 2-2 | |
| 78' | CF Montréal | Prince Owusu | 2-2 | |
| 81' | CF Montréal | Matthew Longstaff | 2-2 | |
| 82' | Portland Timbers | Substitution — K. Kelsy on, F. Mora off | 2-2 | |
| 83' | Portland Timbers | Cole Bassett | 2-2 | |
| 88' | CF Montréal | Substitution — N. Streit on, M. Opoku off | 2-2 | |
| 88' | CF Montréal | Substitution — D. Thorhallsson on, D. Bugaj off | 2-2 |
CF Montréal vs Portland Timbers Lineups
Looking Ahead
CF Montréal does not have long to wait before getting back out onto the pitch. Their next test comes away at Inter Miami, and how they respond after this result will be worth watching. You can follow the build-up and everything you need to know when Inter Miami vs CF Montréal going to play at 29 August 2026 in Major League Soccer 2026.
Portland Timbers, meanwhile, will already be turning their attention to what comes next. They are next in action at home to Austin FC, a game that will give an early sense of how they carry this result forward. Full details are here: Portland Timbers vs Austin FC going to play at 30 August 2026 in Major League Soccer 2026.