Grigor Dimitrov saved two match points before edging past Alex de Minaur 6-3, 3-6, 7-6 (8/6) on Friday to reach the semifinals of the ATP 500 tournament in Rotterdam.
The former world number three, now ranked at 28, will meet either defending champion Felix Auger-Aliassime or Daniil Medvedev in Saturday’s semifinal.
De Minaur, ranked three places higher than the Bulgarian, had won the last two of their three previous meetings but he was on the back foot in the opening exchanges and gave up the first set.
The Australian came back strongly, though, to take the second and push the game into a decisive third.
Broken early, Dimitrov came back again to take it into a tie-break. He needed one last act of resilience, however, when De Minaur held two match points at 6/4.
Dimitrov continued to battle, winning the next four points to book his place in the last four.