Karen Khachanov rallied to defeat top seed Alexander Zverev and booked an ATP Toronto Masters title clash with Ben Shelton, who beat second seeded Taylor Fritz.
Khachanov fought back from 3-1 down in the final-set tiebreaker on Wednesday to beat Zverev 6-3, 4-6, 7-6 (7/4).
Shelton, seeded fourth, hammered Fritz 6-4, 6-3 in the first All-American Masters 1000 semi-final in 15 years to book the fifth, and most important, ATP final of his career.
Russia's Khachanov, seeded 11th, had lost two previous semi-finals in Canada. But he dug deep to advance, saving a match point as he levelled the deciding set at 6-6, with world number three Zverev hammering a backhand into the top tape of the net.
The German committed 44 unforced errors in the nearly three-hour defeat while Khachanov had 29 winners and 34 unforced errors.
"I had to work out this match, dig deep and try my best," Khachanov said. "It was very demanding physically and mentally.
"We've had a lot of matches and I'm happy to beat him after losing some easy ones," added Khachanov, who fell to Zverev in the Tokyo Olympic singles final. "Today was a tough one – I was match point down. I'm just happy things went on my side at the end."
Khachanov will be playing his first final of the season after semi-final defeats in Barcelona and Halle.
Shelton and Fritz had to wait out a brief delay when a problem with the electronic line calling system emerged as they took the court.
But that was barely a blip for 22-year-old Shelton, the world number seven, who had beaten Alex de Minaur in the quarter-finals and with the win over Fritz notched his first back-to-back victories over top 10 opponents.
US Open finalist Fritz had to save four break points in the third game of the match and was broken in the ninth game to leave Shelton to serve for the set.
Shelton seized a second break for a 3-2 lead in the second, landing a perfect lob over Fritz's head and held at love for a 5-3 lead.
He closed out the masterclass in with another break, Fritz mangling his racquet over his knee after he double faulted on match point.
"I'm happy with my level and how I executed," Shelton said. "I've seen so many big improvements in my game this week. That's what I'm most happy about, how I'm executing, how little I'm hesitating." (AFP)