Hubert Hurkacz battled back from a set and a break down to beat Casper Ruud 5-7 6-3 6-2 on Saturday and reach the Canadian Masters final.
Hurkacz raced out to a 3-0 lead in the first set before Ruud regrouped, delivering a spinning, 97 mile per hour forehand winner to secure the break and a 6-5 lead.
An unreturnable serve in the next game secured the set for the Norwegian, who threatened to run away with the match when he broke the Pole to open the second set.
But Hurkacz responded with a break of his own and an emphatic overhead winner to take a 4-2 advantage and he levelled the contest at a set apiece with an exquisite drop shot.
In the first game of the decider, Ruud squandered a 40-0 lead and was ultimately broken, which shifted momentum firmly in Hurkacz’s favour.
The match felt all but over when Hurkacz smashed a backhand crosscourt winner to go up a double break, pumping his fist in celebration.
All of the eighth-seeded Hurkacz’s wins at the Masters 1000 tournament in Montreal have gone the distance. The 25-year-old will face either Spaniard Pablo Carreno Busta or Briton Dan Evans in Sunday’s final.