Alexander Zverev stood toe-to-toe with Bulgarian Grigor Dimitrov for nearly three hours in Paris on Thursday, before emerging a 7-6(4), 6-7(3), 6-3 winner.
Zverev took a 4-3 in the opening set before Dimitrov brought it back to 5-5.
The German then took an early lead in the tiebreak and eventually closed out the set, but Dimitrov was not to be broken, battling back in the second as Zverev wasted two match points.
Dimitrov went 5-0 up in the tie-break with three mini-breaks, Zverev saved two set points before Dimitrov took out the set.
The third was all Zverev, as he broke twice, in the seventh and ninth games, to win the match and set up a quarter-final clash with Casper Ruud, who had beaten Marcos Giron 6-2 6-1 earlier.
“It was an incredible match. Grigor is playing very high-level tennis and I had to leave everything out there,” Zverev said.
“I think it was a very high-level match and it could have gone both ways, especially the third set. I am happy with how things went in the end.”