Williams, who erased all six break points she faced, served three times to stay in the match and held each time at love. She was pushed to deuce serving in the final game but closed out the victory with a volley winner, then hopped in glee on the Centre Court grass.
The scrappy, 5-foot-4 1/2 Zheng played with little flash but plenty of consistency, committing only 17 unforced errors.
Williams rocketed a return to break for an 8-7 lead in the final set, then showed how much she wanted to win, throwing back her head and letting out a long scream. She has been stalled at 13 Grand Slam titles since winning Wimbledon for the fourth time in 2010 and dealt with a series of health issues in 2010-11.
Defending champion Petra Kvitova and former French Open champions Ana Ivanovic and Francesca Schiavone also reached the fourth round.
On a sunny, windy afternoon, the retractable Centre Court roof was open after being closed all day Friday, and the breeze that had Williams' skirt flapping may have contributed to her slow start. She struggled with her return and several times shanked serves by Zheng that barely reached 100 mph.
Venus Williams — a five-time champion who lost in the first round — watched from the first row and showed little concern, yawning more than once.
Her sister didn't have a break-point chance in the first set, and every point Zheng won in the tiebreaker came on an error by her opponent, including two mishit returns. Williams briefly locked on Zheng's serve in the second set, sweeping the final 13 points to even the match.
In the final set, Williams overcame a love-40 deficit to hold for 2-all. Two games later, when she bounced a second serve over her opponent's head for an ace, Zheng managed a laugh.
Later in the set, Williams won 14 consecutive service points, including three aces in one game, to reach 7-all. She held 18 times and lost only 18 of 98 service points.
The 14th-seeded Ivanovic, whose only Grand Slam title came in Paris in 2008, came back from a set down to beat 22nd-seeded Julia Goerges 3-6, 6-3, 6-4. Kvitova had an easier time, beating unseeded Varvara Lepchenko of the United States 6-1, 6-0.
Schiavone, seeded 24th, played with her usual varied and attacking style to defeat 31st-ranked Klara Zakopalova 6-0, 6-4. Schiavone won the 2010 French Open and was the runner-up last year. She reached the fourth round at Wimbledon for only the second time in 13 appearances.
Ivanovic's best showing at Wimbledon was a run to the semifinals in 2007. She lost in the third round last year and the first round in 2010.
Against Goerges, Ivanovic kept teetering on the edge of real trouble. Serving for the match, she faced a break point at 30-40 and came up with a cross-court forehand winner that clipped the outside edge of a line. An ace set up match point, and Goerges then netted a forehand.