Toronto FC scored two extra-time goals to beat the Montreal Impact 5-2 and 7-5 on aggregate in the Eastern Conference finals on a rainy night at BMO FIeld to reach its first MLS Cup in club history.
Toronto entered the match trailing 3-2 on aggregate, but in a good position thanks to two away goals from the first leg in Montreal.
And a physical opening 20 minutes featured players from both teams going to ground, Laurent Ciman pulling down Jozy Altidore in the eighth minute and Altidore colliding in mid-air with Hernan Bernardello, leaving the Impact player in need of medical attention before carrying on.
The Impact opened the scoring in the 24th minute on a well-executed counter-attack. Matteo Mancosu threaded a perfect pass to Dominic Oduro in the Toronto area and the Ghanaian took one touch before beating Clint Irwin.
The goal was especially harsh on Toronto as it came on the heels of the team's best chance of the first half. Justin Morrow received a long ball in the Montreal penalty area and was in on goal, but he misplayed a first-time pass to Altidore instead of shooting and the Impact broke the other way.
Toronto continued to pressure Montreal, though, and would find an equalizer from a set piece in the 37th minute. Sebastian Giovinco's outswinging corner caused a goalmouth scramble, allowing Armando Cooper to sweep home past Ethan Bush to make it 1-1.
Less than a minute later, Cooper was free on goal again, but his touch to beat Bush in the area was slightly heavy and the ball rolled out of harm's way.
Once again it was Giovinco from a corner kick that led to Toronto's second goal, as Altidore got free and beat Bush to the near post with a perfectly placed glancing header to put Toronto in the lead for the match and the tie.
After losing the momentum in the first half, Montreal got the dream start to the second half as Ignacio Piatti tip-toed into the Toronto area, wrong-footed Irwin and poked ball over the line.
Oduro was the catalyst on the counter once again for Montreal in the 66th minute, running the length of the field and feeding Johan Venegas, but his left-footed shot was saved by a diving Irwin.
The hosts were next up and retook the second-leg lead at 3-2 when Morrow chipped from the endline back in front of the Montreal goal for Nick Hagglund to power home a header and level the aggregate score at 5-5.
Both teams finished regular time with several good chances, but neither team could find the winner and the match went to extra time.
Toronto's fortunes took what looked like a turn for the worse when Giovinco limped off early in the extra-time period and was replaced by Benoit Cheyrou. But fortune smiled on Toronto as Cheyrou headed home from a Steven Beitashour cross to put the hosts in front 6-5 on aggregate.
It only took a minute for Toronto to build on that lead, as Altidore settled a long ball, beat his defender and played a perfect cross to a sliding Tosaint Ricketts who pushed the ball past Bush to extend the lead to two goals.
Toronto will host the Seattle Sounders in the MLS Cup final on Dec. 10 at BMO Field.