The Dutchman collapsed on the court after converting his sixth match point to end an absorbing three-hour, seven-minute affair under sunny skies on Stadium One court.
"I'm incredibly proud. It was such a mental battle to beat him," Griekspoor said after claiming the win over the German, who had dominated their head-to-head matchups coming into the contest.
"I beat him once but then lost the next six times so it was such a mental thing. Happy to finally get it out of the way."
Zverev served for the match in the second set but was unable to get over the line and Griekspoor edged him in the second set tiebreaker to force a decider.
Griekspoor failed to convert five match points with the match on his racket at 6-5 in the third, but regrouped to win the deciding tiebreak.
It was Griekspoor's first win over a top-five opponent in 19 attempts.
"Finally," Griekspoor wrote with a smiley face on the TV camera lens after the hard-fought victory.
Griekspoor will face big-serving Frenchman Giovanni Mpetshi Perricard in the third round.
Zverev has struggled with his form since losing to world number one Jannik Sinner in the Australian Open final in January.
"I'm just not playing good tennis at the moment. It's as simple as that," he told reporters.
"I'm not playing a level that I want to play, definitely not playing anywhere near what I played in Australia.
"I'm just disappointed with my game."
The world No.2 said he would need to go back to the drawing board.
"Right now it's not clicking. I have to find a way to make that happen."
Popular 10th-seed Tommy Paul eased past fellow American Tristan Boyer 6-3 6-1 in front of packed stands on court three.
Paul, who reached the semi-finals of the tournament last year, was among the players who fell ill with a stomach bug at the Mexican Open in Acapulco last month but said he had fully recovered.