Alexander Zverev booked his place in the Munich Open semi-finals, after coming from behind to deny Tallon Griekspoor. (More Tennis News)
The top seed lost the opening set, while his opponent also served for the match, but he recovered to prevail 6-7 (6-8) 7-6 (7-3) 6-4) and set up a last-four clash with either Zizou Bergs or Fabian Marozsan.
Nothing could separate the players during the first set, which went to the wire with Griekspoor subsequently winning the tie-break.
The Dutchman had ended his five-match losing streak against Zverev at Indian Wells last month, and looked set make it back-to-back wins when he broke early in the second set on the way to a 5-4 lead.
However, despite serving for the match, Griekspoor was broken back to 15 by the German, who then controlled the tie-break to level.
A break in game seven of the decider proved crucial for Zverev. Though his opponent saved three match points to hold at 5-4, the three-time major finalist comfortably held in the next game to get over the line.
"Finally, I won a close one," he said. "I've lost a few of those in the past few months and I always said: 'I need to get one of these'. I did today.
"I'm extremely happy with how I hung in there, especially in the third set, being 0-40 down in my second service game. I'm proud to win this match and looking forward to the next two, hopefully."
Ben Shelton joins Zverev in the semi-finals after the second seed defeated Luciano Darderi 6-4 6-3.
The American, who hit seven aces to his opponent's one, broke in the final game of the opening set, and immediately cancelled out Darderi's break early in the second.
Shelton broke again at the next attempt for a 4-2 lead, before holding out to seal victory.