The defending champion was playing for the third day in a row after being badly affected by the poor weather, but she looked like she was set for a stroll in the welcome Parisian sunshine when she won the first five games.
The scoreline was deceptive, though, with Zheng in contention in almost all of the games, and she finally got herself on the board to avoid a love set.
The pair had met three times before, with Zheng winning once, and all of them were competitive affairs.
Having broken her duck, the Chinese player began to grow in confidence and broke the Sharapova serve for a second consecutive time to start the second set.
She then opened up a 4-1 lead when the Russian was deemed to have double-faulted on break point, although it looked as though Zheng and the umpire were looking at the wrong mark.
Sharapova clearly felt hard done by but she pulled back to level at 4-4 only for Zheng to break again in a long game to give herself the chance to serve for the set.
It was not to be, though, and Sharapova came through 6-1 7-5 in an hour and 45 minutes despite serving eight double faults in breezy conditions on Court Philippe Chatrier.
Next up for Sharapova is 17th seed Sloane Stephens, a three-set winner over Marina Erakovic earlier.