Zverev, who lost to Granollers in three sets at the Monte Carlo Masters earlier this season, converted five of his seven break points in a 7-5, 6-7 (3), 6-2 win at the clay-court tournament, a traditional French Open warm-up.
''He's one of the best clay-court players, and he's been playing well,'' Zverev said of his Spanish opponent.
Zverev next plays second-seeded Gilles Simon, who defeated Taylor Fritz 6-4, 6-4.
Andreas Seppi also advanced after saving 10 break points as he rallied past Paul-Henri Mathieu 4-6, 6-2, 6-4.
Seppi next plays top-seeded Dominic Thiem.