The American four-times Wimbledon champion struggled to cope with the windy conditions and Zheng, seeded 25th, served consistently throughout the first set before winning it 7-5 in the tiebreak.
The sixth-seeded Williams finally broke Zheng, Wimbledon semi-finalist in 2008, in the fifth game of the second set and she did so again in the seventh on the way to levelling the match.
Williams, 30, recovered from 0-40 down to hold serve in the fourth game of the third set and she made the decisive break in the 15th game before converting her third match point to set up a last-16 clash with Yaroslava Shvedova of Kazakhstan.
Shvedova left French Open runner-up Sara Errani red-faced by becoming the first player to win a set in a Grand Slam tournament without conceding a point.
The first set disappeared in a 15-minute blur as Shvedova won 24 consecutive points - known as a golden set - in the third-round match on court three.
Tenth seed Errani fought back in the second but was powerless to stop Shvedova wrapping up a 6-0 6-4 victory.
Champion Petra Kvitova sailed effortlessly into the fourth round, sweeping aside American Varvara Lepchenko 6-1 6-0.
Kvitova's fearsome forehand demoralised the Uzbek-born Lepchenko, who did not have the weapons to challenge the ruthlessly efficient fourth seed.
The biggest cheer of the day on Court One was reserved for Lepchenko when she finally managed to hold serve in the sixth game of a woefully one-sided contest.
Kvitova maintained her razor-sharp concentration in the second set to complete a crushing victory.
Kvitova, who amazingly lost the first four matches she ever played on grass, now clearly revels on the surface.
The Czech has been steadily improving from round to round at Wimbledon, hoping that she can peak at just the right time as she did 12 months ago.
Looking ahead to her fourth round contest with former French Open champion Francesca Schiavone, Kvitova said she would need to be on her guard as the Italian "will be aggressive in coming to the net".
Schiavone enjoyed a similarly comfortable day as she defeated the Czech Republic's Klara Zakopalova 6-0 6-4.
Second seed Victoria Azarenka of Belarus defeated Slovakia's Jana Cepelova 6-3 6-3 and will now face Ana Ivanovic in the last 16.
14th seed Ivanovic once again showed she is a dangerous player again after beating 22th seed Julia Goerges of Germany 3-6 6-3 6-4 in a tough contest.
Finally, 21st seed Roberta Vinci will face unseeded Austrian Tamira Paszek next after they enjoyed wins over Mirjana Lucic and Yanina Wickmayer respectively.