The seventh-seeded Czech - Wimbledon champion in 2011 and 2014 - built on a solid first serve to defeat her third-seeded rival.
"I never played her on this surface and it was an advantage for me," said the 33-year-old Czech.
"It's sweet revenge after my defeat in the Cincinnati final (last year)."
The quarter and semi-finals are being played on Saturday, after rain washed out play on Friday in the traditional Wimbledon warm-up.
France's Garcia, the world number four, had been in the game until conceding her serve in the seventh game of the first set which the Czech won in 52 minutes.
She saved break points in the second set, notably at 4-4, but was unable to match Kvitova in the tie-break with the Czech player sweeping 7 points to 3.
Kvitova next takes on 22nd-ranked Ekaterina Alexandrova who advanced to the last four after fellow Russian Veronika Kudermetova withdrew.
Croatia's Donna Vekic beat Russia's Elina Avanesyan 6-2, 7-6 (7-0) to reach her first grass-court semi-final in four years.
She next plays Greek sixth seed Maria Sakkari who battled past Czech Marketa Vondrousova 7-6 (9-7), 6-1 to reach her fifth semi-final of the year.