This time, with Zverev roared on by a home crowd, Griekspoor served for the match at 5-4 in the second set but blew it. The Dutchman also had Zverev 0-40 in his second service game in the third set.
“I’m proud to win this match and looking forward to the next two, hopefully,” Zverev said.
The third-ranked Zverev will face 77th-ranked Fabian Marozsan of Hungary.
Marozsan reached his maiden ATP semifinals after beating Zizou Bergs of Belgium 6-3, 7-6 (4).
Ben Shelton advanced to his second clay-court semifinals by beating Luciano Darderi 6-4, 6-3.