Diego Schwartzman served for a straight-sets win over Felix Auger-Aliassime but had to go the three-set distance before subduing the Canadian 6-4, 5-7, 6-4, on Saturday to reach the Cologne final against Alexander Zverev.
Argentine Schwartzman was up a set and a break but still could not control his 20-year-old opponent, finalist here last week against Zverev in the first of the Cologne tournament double.
Zverev booked his second home final in as many weekends with a 7-6(3), 6-3 win over teenaged Jannik Sinner.
Schwartzman leads the seventh-ranked Zverev 2-1 in their career series, with the pair last meeting at the 2019 US Open.
Schwartzman took two and a half hours to advance on his first match point; Auger-Aliassime won the last four games of the second set, denying his opponent the easy victory and throwing the contest into a third.
The final chapter began with three straight breaks with the South American in control. Schwartzman closed it out with a forehand winner deep into the corner to reach a third final this season.
The winner of three trophies converted on four of five break points but admitted he was outplayed at times by a worthy opponent.
“I had to play well, he’s a great player, but he had some mistakes. I took my chances and broke in the first set, but he came right back in the second.
“The match was decided on just a few points. Felix plays very aggressive and you can doubt yourself and get nervous serving for the match against him..
“In the third set I got lucky, he was playing better than me.”
Schwartzman goes into the final as the underdog: “Sascha is undefeated here so far… maybe tomorrow is the first match he’s gonna lose.
“He likes to play in Germany, he has confidence. I have to rest and try to be ready for tomorrow.”