Leonardo Mayer will have the chance to win a third German Tennis Championships title in five years after saving match point to defeat Jozef Kovalik in the semi-finals.

The Argentine, champion in 2014 and 2017, was staring down the barrel when 6-5 down in a third-set tie-breaker.

However, Mayer fought off the danger and eventually recovered to record a 6-7 (6-8) 6-4 7-6 (9-7) victory in a gruelling encounter lasting two hours and 51 minutes.

Mayer had won just two of his past nine matches heading into Hamburg, but has rediscovered his form on the German clay, and fired 42 winners against the attack-minded Kovalik.

Nikoloz Basilashvili stands in his way of further glory, the Georgian winning a see-saw encounter 7-5 0-6 6-1 against Nicolas Jarry.

At the Swiss Open Gstaad, second seed Roberto Bautista Agut had to dig deep to record a 6-7 (5-7) 6-4 6-4 triumph over Laslo Djere and will face Matteo Berrettini in the final after the Italian saw off Jurgen Zopp 6-4 7-6 (8-6).