Zverev, who recently defeated Dominic Thiem in the final of the Madrid Masters, got off to the perfect start when he broke Edmund in the first game of the match.
Edmund, who has been enjoying his best season to date and defeated Novak Djokovic in Madrid, fought back as he broke in 10th but Zverev immediately broke back and served out for the set.
The pair each broke once in the second set as it went to a tie break and Zverev started to lose his focus with a series of unforced errors.
He let multiple match points go as Edmund dug deep and frustrated him, with his forehand and serve firing at crucial moments.
As the astonishing tie break continued Zverev eventually found a way through at the eighth time of asking as a series of powerful backhands eventually wore down the impressive Edmund.
Zverev, who has now won 22 sets on clay in a row, will now David Goffin for a place in the semi-final after Juan Martin del Potro had to retire with injury.
Belgian Goffin was leading 6-2 4-5 against fifth seed Del Potro when the Argentine was forced to retire with what appeared to be a groin injury that throws his participation at the French Open into doubt. The Paris major begins on May 27.
"I was worried so I decided to stop the game at the end of the second set to see the doctor and see what they say," Del Potro said. "I will do all of the exams now and then I will try to make a good decision for the future."
Fourth seed Marin Cilic displayed plenty of patience during his 6-3 6-4 win over Frenchman Benoit Paire.
The Croatian dropped his serve early in the second set, but stayed calm, controlling play from the baseline and picking his moments to turn up the heat.
Cilic will face Pablo Carreno Busta for a place in the semi-finals.