Home favourite Alexander Zverev missed out on his first Hamburg Open final as defending champion Nikoloz Basilashvili fought back from facing two match points to edge an epic semi-final.
Georgian fourth seed Basilashvili recovered to win 6-4 4-6 7-6 (7-5) in three hours and seven minutes.
Basilashvili, 27, will face either Russian Andrey Rublev or Spain’s Pablo Carreno Busta in Sunday’s final.
Hamburg-born Zverev led 5-3 in the decider but could not take his chances.
The world number five, whose split with coach Ivan Lendl was announced by the eight-time Grand Slam winner before Friday’s quarter-final win against Serbia’s Filip Krajinovic, was aiming to reach his third final in 2019.