Jozy Altidore and Victor Vazquez fired Toronto FC to a maiden MLS Cup and historic treble as Stefan Frei's heroics could not inspire Seattle Sounders to retain their title.
Altidore broke the deadlock and Vazquez netted deep in injury time to settle Saturday's showpiece at BMO Field, as Toronto gained revenge for last season's penalty-shootout defeat in a mirror-image fixture, when Frei was the match-saving hero for Seattle.
Frei once again was the game's central figure, denying TFC time and time again, but his goal was breached for the first time this post-season 23 minutes from the end by Altidore before Vazquez converted from close range to make it 2-0.
Victory for Toronto adds the MLS Cup to the Supporters' Shield and Canadian Championship - making them the first side to win a clean sweep of domestic titles in MLS history.
After Greg Vanney's men set new a record for single-season points in 2017, their focus will now turn on becoming the dominant force in MLS, with Altidore backed up by difference-making displays from fellow star names Michael Bradley and Sebastian Giovinco.
Toronto made an electric start but once again found Frei nigh-on impossible to beat after the Swiss stopper's heroic display 12 months previously.
The goalkeeper plunged to his right to keep out Jonathan Osorio before closing the angles on Giovinco, who latched onto Vazquez's searching cross-field ball, but could not get enough purchase to lift the ball over Frei.
Seattle won last year despite failing to register a shot on target in 120 minutes and Frei kept them level to the break, tipping another effort from Giovinco over the crossbar, although Joevin Jones did force Alexander Bono into action on the Sounders' only invasion of note into Toronto territory.
But Toronto ended the half well on top again, Frei denying Marco Delgado and Vazquez from distance before Jones almost turned into his own net while appealing for offside against Justin Morrow as Toronto's struggle to puncture Seattle's rigid defence began to frustrate.
First-half summary: pic.twitter.com/wcWCrVRiGf— Seattle Sounders FC (@SoundersFC) December 9, 2017
Those frustrations came to the boil inside BMO Field 12 minutes after the break when Morrow went down under Kelvin Leerdam's ungainly challenge, but a penalty was not forthcoming from referee Allen Chapman.
The contest returned to a familiar feel as Frei dealt with Bradley's dipping strike and denied Giovinco's best effort yet, a scorching low shot destined for the bottom-left corner.
But the Italian's link-up play with Vazquez and Altidore came to the fore to break the deadlock.
Former Barcelona man Vazquez caught Seattle's defence high with a ball to Giovinco, whose quick reverse pass freed Altidore to power away from Roman Torres and lift a composed finish over Frei - finally beaten after 187 minutes of Cup action against TFC.
And the party atmosphere was ratcheted up in the fourth minute of stoppage time when Vazquez bundled home after Armando Cooper struck the woodwork, Toronto securing a deserved win to cap a historic campaign.
|Worry about your own team - Dortmund slam Wenger´s Aubameyang pursuit|
|Fabulous Federer eases past Struff|
|Praet denies agreeing deal to join Juventus|
|No BBC for Real Madrid´s Leganes clash|
|Wawrinka discovers Tennys has game to go with the name|
|Heat hit historic low in defeat to Sixers|
|Stoke close to Stafylidis signing|
|Brisbane Roar 3 Perth Glory 2: Holman settles five-goal thriller|
|Gourvennec leaves Bordeaux after seventh defeat in eight games|
|Eight uncapped players make squad for England´s Six Nations opener|
|Stokes court date on same day as supposed England comeback|
|Pique agrees new long-term Barcelona contract|
|Wenger rules out Ozil sale as talks continue over Wilshere deal|
|Halep eases past struggling Bouchard|
|Sanchez-Mkhitaryan deal close, says Wenger|
|Retiring veteran Benneteau dumps Goffin out|
|Meunier blasts ´disgraceful´ PSG fans after Neymar boos|
|Pique demands better at Camp Nou after Espanyol ´insults´|
|Djokovic outlasts Monfils in Melbourne heat|
|Wizards get in scuffle in blowout loss to Hornets|
|Schweinsteiger re-signs with Chicago Fire for 2018|
|Rockets´ Ariza, Green suspended|
|Sharapova happy with improvement|
|Muguruza stunned as upsets continue at Australian Open|
|Juve trying everything to sign Can, says Marotta|
|He´s scared of me – Ferrell reveals Federer fears|
|Konta crashes out in shock Aus Open defeat to lucky loser|
|Brady limited in practice due to hand injury|
|Sharapova overcomes Sevastova in Melbourne|
|Rooney convinced me to join Everton – Walcott|
|Simeone: Sevilla deserved their win|
|Conte calls for VAR improvements|
|Neymar not angered by PSG whistles - Silva|
|FA Cup Review: Wigan dump Bournemouth out, nine-man Chelsea scrape through|
|Banvit beat Bayreuth to stay top as Gaziantep end losing streak|
|England won´t block Jones from Lions role|
|Valverde rues Barca profligacy in Espanyol defeat|
|Chelsea 1 Norwich City 1 (aet, 5-3 pens): Hazard and Caballero seal Blues progression|
|No generosity from Neymar as Cavani waits to make PSG history|
|Neymar sets Ligue 1 landmark with staggering individual display|
|Espanyol 1 Barcelona 0: Melendo ends unbeaten run|
|Paris Saint-Germain 8 Dijon 0: Neymar hits four as Cavani levels Ibrahimovic record|
|Atletico fan in ´serious condition´ after being stabbed before Sevilla game|
|Stokes ´can´t wait´ for England return after ECB clearance|
|Kawhi Leonard´s rehab shut down as quad problem lingers|
|Folger out of MotoGP season due to illness|
|Stokes should not take my place - Bairstow|
|Atletico Madrid 1 Sevilla 2: Montella´s men stage dramatic first-leg comeback|
|Steelers will not retain offensive coordinator Todd Haley|
|Lukaku will score 30 goals for Man Utd this season, predicts Yorke|
|Brady named writers´ NFL MVP|
|Du Plessis wants action on slow pitches|
|Johnson back to his best after Augusta accident|
|Liverpool loan Grujic to Cardiff|
|Centurion hero Ngidi aiming high|
|Mbappe: More to come from Neymar & Cavani partnership|
|Messi the greatest ever despite no World Cup win, insists Di Maria|
|Uncapped Larmour named in Ireland´s Six Nations squad|
|Villa determined to earn place in Spain´s World Cup squad|
|Walcott swaps Arsenal for Everton|
|Kohli bristles at selection questions|
|England forward Haskell handed four-week suspension|
|You even learn from Guardiola at home - Otamendi lauds Pep impact|
|Three-week ban for Bastareaud for alleged homophobic slur|
|IOC to consider joint Korean ice hockey team|
|Sri Lanka ODI woes drag on with Zimbabwe defeat|
|Batsmen let India down against South Africa - Kohli|
|Five fun facts as LeBron James chases 30K career points|
|Bastareaud named in France squad ahead of disciplinary hearing|
|Otamendi pens Man City deal to 2022|