Den tyske världstrean besegrade polske Hubert Hurkacz med 6–2, 6–4 i ett möte som tog dryga timmen, vilket innebar en andraplats och avancemang från röda gruppen.
– Det var inte lätt mentalt för jag visste att jag var tvungen att vinna för att ta mig till semifinal. Jag är glad att jag är vidare via raka set, säger Zverev.
Röda gruppens vinnare, ryske Daniil Medvedev, besegrade det lokala hoppet Jannik Sinner i en utdragen rysare 6–0, 6–7, 7–6.
Han kommer att möta tvåan i den gröna gruppen, som det redan nu står klart att Djokovic vunnit.
Om andraplatsen står det mellan ryske Andrej Rubljov och norske Casper Ruud, som möts i en avgörande match på fredagen där vinnaren kniper den sista semifinalplatsen.