Zverev, the highest-ranked player left in the draw, looked in control after taking the first set but struggled the rest of the match and couldn’t break serve again. Rinderknech got a break in the second set and two in the third to seal the victory in more than two hours.
Rinderknech also beat Zverev in five sets in the first round at Wimbledon this year.
The 30-year-old Rinderknech has a career-best 23 wins in 2025 and is into the fourth round at a Masters 1000 event for the third time.
He will next play Jiri Lehecka, who defeated Denis Shapovalov 6-4, 6-4.
Earlier, seventh-seeded Alex De Minaur defeated Kamil Majchrzak 6-1, 7-5 in humid conditions for his tour-leading 36th win on hard courts this year.
De Minaur will next face Nuno Borges, who defeated Shang Juncheng 7-6 (5), 4-6, 6-3. Another win for De Minaur would see him hit 50 tour-level victories in a season for the first time.
Felix Auger-Aliassime converted three of four break points to defeat Jesper de Jong 6-4, 7-5. The 12th-seeded Auger-Aliassime was helped to his feet by a ball kid after slipping in the second set. He is 10-2 in August, with both defeats coming against Jannik Sinner. Auger-Aliassime will next face eighth-seeded Lorenzo Muzetti, who defeated fellow Italian Luciano Darderi 7-5, 7-6 (1).
Sinner, the defending champion, trailed 7-6 (3), 5-7, 2-3 against Tallon Griekspoor on Sunday when he retired from the match because of cramps.
Top-ranked Carlos Alcaraz, who won the Japan Open last week, is not in Shanghai due to minor ailments.
American Learner Tien defeated Cameron Norrie 7-6(4), 6-3.