Nick DeLeon's stunning late goal led Toronto past defending champions Atlanta United 2-1 and through to the MLS Cup final.

With 12 minutes remaining in Atlanta on Wednesday, DeLeon produced a thunderous long-range effort that beat Brad Guzan and secured Toronto's spot in the November 10 final.

Toronto will travel to Seattle Sounders in a rematch of the 2017 decider, which the Canadian side won 2-0.

After Los Angeles FC's shock defeat to Seattle on Tuesday, there was another upset as Frank de Boer's Atlanta were dethroned on home soil.

Julian Gressel gave Atlanta a fourth-minute lead after a selfless pass from team-mate Gonzalo Martinez at Mercedes-Benz Stadium.

However, their lead only lasted 10 minutes as Toronto's Nicolas Benezet found the far corner of the net with a curling effort.

Toronto had the final say away from home after DeLeon somehow created enough space to find the top corner in the 78th minute.