The Italian rallied from 5-3 down in the second set and saved four match points in the second set tiebreak on his way to a 1-6 7-6 (12-10) 6-0 victory.
After two hours 25 minutes, 18th-ranked Darderi was able to celebrate becoming the first player other than Jannik Sinner to beat Zverev at a Masters tournament since Shanghai last October.
Zverev hit out at the condition of the court.
"I think this is the worst court I've ever played on," he said.
"Juniors, professional, futures, practice, I never played on a court where the court quality is that bad. I have match point and the ball jumps over my head. I have break point, the ball rolls."
Darderi will now face Rafael Jodar in the quarter-finals after the Spaniard upset 19th-seed Learner Tien 6-1 6-4. Jodar is the first teenager to reach the men's quarters in Rome since Novak Djokovic in 2007.
There was less joy for another Italian, eighth-seed Lorenzo Musetti, who lost 6-3 6-1 to Casper Ruud. The Norwegian will now face Karen Khachanov, who beat Croatian qualifier Dino Prizmic 6-1 7-6 (7-2).
World No.1 Sinner predictably thrashed compatriot Andrea Pellegrino, the 125-ranked Italian qualifier who was making his Masters debut.
"I'm very happy about the outcome. At the same time, I'm very happy for him. We played seven years ago on a smaller court, so it's nice," Sinner said.
Victory extended his Masters 1000 winning streak to 31 matches, equalling Djokovic's all-time record.
If Sinner goes on to claim the Rome title, he will join Djokovic as the only men to have won all nine Masters 1000 events.
In his quarter-final Sinner will play 12th seed Andrey Rublev who beat Georgia's Nikoloz Basilashvili 3-6 7-6 (7-5) 6-2.
"I think I can be very happy. The conditions were tricky, with some wind at the start, so it wasn't easy," Sinner said.
"I'm pleased with how I'm handling these situations. The stages are getting bigger and bigger, and I'm happy to put myself in these positions. A day off tomorrow will be important for me to rest."
The other last-eight clash will be between Martin Landaluce, whose extraordinary run as a lucky loser continued with his 7-5 6-4 defeat of Hamad Medjedovic, and Daniil Medvedev, who saw off Thiago Agustin Tirante 6-3 6-2.
With PA.