The eighth seed was forced to a deciding set by American Coco Vandeweghe before recording a 6-1 5-7 6-4 win.
The 2011 champion looked untouchable in the first set, securing two early breaks of serve to give herself a comfortable lead, allowing Vandeweghe to hold serve just once.
However, the 21-year-old learned from the first set and was able to match her Czech opponent for much of the second, before taking advantage of a series of errors by Kvitova, including five double faults, to secure the break that helped her level the match and take it to a deciding set.
There was little between the two players early in the final set, but Kvitova made fewer mistakes and was able to go a break ahead.
The former Wimbledon winner had a chance to seal the match while 5-3 up on Vandeweghe's serve, but the American was able to hold to force her opponent to serve out the match in the next game.
Kvitova will face Kazakhstan's Yaroslava Shvedova in the second round.