The Czech player beat fourth seed Victoria Azarenka in her second Wimbledon semi-final in as many years.
The 21-year-old won the first set 6-1, Azarenka succeeding to hold her first service game only. The Belarusian staged a comeback in the second set to capitalise on a 3-0 lead to win 6-3, before Kvitova again conquered in the third set to take the match 6-1 3-6 6-2.
“It was all about serves, so I’m very happy my serves were good in the third set,” she said after the match.
Kvitova will face either Maria Sharapova or unseeded Sabine Lisicki for her first Grand Slam title match.