Nikoloz Basilashvili gave Alexander Zverev a taste of his own medicine as he fought back from the brink of defeat to stun the home favourite at the German Tennis Championships.
Zverev, the second seed, had rallied from a set and a break down to prevail in his quarter-final clash with Filip Krajinovic on Friday, keeping him on course for a second ATP Tour title in 2019.
However, the German failed to be so ruthless against Basilashvili in their last-four clash, allowing his Georgian opponent to save two match points in the third set before also recovering from 5-2 down in the deciding tie-break.
The missed opportunities proved costly for Zverev as Basilashvili eventually triumphed 6-4 4-6 7-6 (7-5) after just over three hours on court in Hamburg.
"I guess it was a nice atmosphere and it was good for the crowd, but now he is in the final and I lost, so it’s not the nicest feeling in the world," Zverev said after the match.
Basilashvili will face Andrey Rublev in the final after the Russian overcame Spain's Pablo Carreno-Busta 4-6 7-5 6-1 in the second semi-final.
It had been a tight contest across the first two sets, but Rublev stepped things up a notch in the third, taking his first-serve percentage to 77 and converting two out of his three break points.
At the Swiss Open Gstaad, Albert Ramos-Vinolas knocked out 2014 champion Pablo Andujar to reach the final.
The all-Spanish clash went the way of Ramos-Vinolas, who fought back from 5-3 down to take the first set on a tie-break and then prevailed in the second despite a break for rain when he required just two points for victory.
The 31-year-old will hope to clinch his second title on the ATP Tour, following his success in Bastad three years ago, when he faces Cedrik-Marcel Stebe.
Stebe had defeated Italian Thomas Fabbiano early on Saturday in their delayed quarter-final, and then also beat Joao Sousa 3-6 6-1 6-2 to secure a shot at the title in his first ATP Tour final.