Montreal (AFP) - Hubert Hurkacz shrugged off a slow start to upset fourth seed Casper Ruud 5-7, 6-3, 6-2 on Saturday and reach the final of the ATP Montreal Masters.
The eighth-seeded Pole needed two hours to oust his Norwegian opponent, who had dropped just one set all week.
Hurkacz finished with 47 winners - including 18 aces - and 19 unforced errors, advancing on his second match point.
He will play his second Masters 1000 final against either Briton Dan Evans or Spain's Pablo Carreno Busta.
"I was just trying to stay in the match, he was better for the first set and a half," the winner said."I just had to hold on and fight."
Hurkacz has gone to three sets in each of his matches this week, but said he wasn't feeling any physical toll.
"I feel good, I have energy," he said."So far so good."
Ruud and Hurkacz traded early breaks, but the Norwegian gained the edge in the first set, winning it on another break of serve.
He then inflicted further punishment by breaking Hurkacz to love in the opening game of the second as he tried to set a tone for the remainder of the match.
But Hurkacz struck back with an immediate break and carried on to level the match at a set apiece.
Hurkacz got away quickly in the deciding set, grabbing a 4-1 lead with two quick breaks of serve before closing out the comeback triumph.
He avenged a loss to Ruud in the fourth round at Roland Garros two months ago.
"I was just staying aggressive, searching for opportunities, just trying to take every single chance to get ahead in the rally and make him uncomfortable," Hurkacz said.
Hurkacz has won his first five ATP finals and is keen to carry on with his string of victories.
"I just try to compete as hard as I can, be as well-prepared (as possible).
"I was fortunate to win the first few finals.But tomorrow is a new match.It's going to be a very tricky one."