Chris Young/The Canadian Press via AP

Though they entered it as heavy underdogs, the Portland Timbers' Saturday afternoon's match at Toronto FC was right there for the taking.

Through nearly an hour of play, without both Fanendo Adi and Liam Ridgewell, the Timbers were giving as good as they were getting against the Supporters' Shield leaders and defending Eastern Conference champions.

And then the wheels fell off the wagon. Justin Morrow snatched the opening goal, and things got out of hand in a hurry. Toronto poured in four goals in less than thirty minutes to flush the Timbers in style, winning their league-best 45th, 46th, and 47th points in the process.

For Portland, the defeat was expected. It's manner was grating. For a half and change, the Timbers did exactly what they needed to do — but it was their established penchant for turning off late in games, along with Toronto's quality, that told in the end.

From the start, the Timbers were on the ropes. A Giovinco free kick forced a diving save from Jake Gleeson after just two minutes, and the Reds pinned the Timbers deep through an opening twenty minutes that saw Gleeson exit with a hamstring injury.

But even as Toronto piled numbers forward, Portland — thanks in large part to Diego Chara — withstood the early onslaught and settled in. The close of the half was fairly even, with Giovinco frustrated and Toronto's attacking momentum dissolved.

The beginning of the second half brought more of the same. With Toronto somewhat out of sorts, it was Portland that had the chances — David Guzman firing an open volley over the ball, and Lawrence Olum twisting an opportunity off a corner high and wide.

And then, an hour of solid work would be undone in a moment with one all-too-predictable defensive lapse. Giovinco sent a deep cross into the Timbers' penalty area, Alvas Powell raced out to intercept it, whiffed, and could only watch as Morrow took it down and slammed it in.

It was, for all intents and purposes, the game. With the Timbers forced to push numbers forward, space opened for Toronto's vaunted attack, and a close contest became a laugher.

Thing is, Powell actually played a very decent game. He was effective on the ball, mostly solid defensively, and responsible for the Timbers' best chance of the first half when his strong run and resultant shot forced a fine save out of Alex Bono.

But the calamitous mistakes have become commonplace with Powell this year, and this was yet another back-breaker. To win in Toronto, you have to play a near-perfect game. This was the unforced error the Timbers couldn't afford.

From there, the game quickly got out of hand. The Timbers had done an excellent job of not letting TFC play between their lines over the first hour, but that changed when Porter, chasing the game, brought on Dairon Asprilla for Guzman and moved Darlington Nagbe into central midfield.

Chris Young/The Canadian Press via AP

Indeed, Toronto's second goal — the one that put the game away — was a clear illustration. Michael Bradley was able to play a ball midfield to a wide-open Marky Delgado. Delgado took two touches, lured Lawrence Olum out, played Giovinco wide for the Italian Giovinco slipped the ball into the area that Olum had vacated, and Victor Vazquez tucked it in.

Four minutes later, Morrow — in the form of his career — would finish off a lovely TFC sequence that included a Giovinco dummy, a Vazquez back-heel, and a Giovinco-Jozy Altidore one-two with another thunderous finish.

Toronto's fourth came some ten minutes later in familiar fashion. Giovinco, with acres of space in the pocket between the Timbers' midfield and backline, picked out a through ball for substitute Tosaint Ricketts that ended up falling to Delgado to stroke home.

Porter directed his ire after the game at his team's response to the opening goal, but the battle for the Timbers from there was always going to be straight uphill. Teams like Toronto get lopsided results preciously because they are built to exploit the space left vacated by teams pushing forward for goals.

The one sliver lining for Portland would be Valeri's goal, which spoiled the TFC clean sheet in stoppage time — and like many of Valeri's fifty, it was a work of art.

The Maestro, racing into the attack, was fed by the ball by Jermey Ebobisse, held off Jonathan Osorio, dusted Jason Hernandez, and finished easily past Bono. The goal was Valeri's fiftieth for the club, and it begged another question: why hadn't Ebobisse started?

The club's investment in Ebobisse, its future starting striker, is considerable. Its investment in Mattocks, a depth piece who might be gone as soon as this offseason, isn't. Getting Ebobisse minutes where possible makes all the sense in the world.

But beyond that, Ebobisse has been better than Mattocks this year. He links up play better, he makes smarter runs, and he's been more productive. Giving Mattocks 75 minutes in this game was a chance missed for the Timbers — a frustrating footnote to a frustrating afternoon.

The good news is that, in the big picture, these three points lost won't do the Timbers all that much damage. Losing games on the road against Eastern Conference teams — especially the Eastern Conference's best team — won't keep you out of the playoffs.

In many ways, this was a throwaway game. It's the next three games to finish out August — at home against the New York Red Bulls and Colorado, and then at Seattle — that will go a long way in determining the fate of the Timbers' season.

To that end, the injury to Gleeson — who was finally in form — might be the most consequential result of the trip for Portland.

And yet, if you're in this business for championships, this result should sting. Though they hung with them for a while, and though they were dealing with injuries as usual, the Timbers weren't in Toronto's league on Saturday.

TFC is the class of MLS. Portland, two years ago the class of MLS, has a long way to go to make something of its 2017 season.