The American was broken six times by Kvitova and could not prevent the end of her stunning 27-match winning streak, which stretched back to last year’s WTA finals.
Awaiting Kvitova in the final was??Svetlana Kuznetsova, who had earlier inflicted a 6-2, 6-4 defeat on fellow Russian Maria Sharapova.
Reflecting on her defeat, Williams admitted the busy schedule had taken its toll, but was still pleased with her form ahead of the upcoming French Open.
“I’m just exhausted today,” she said. “But it’s really good preparation for Roland Garros.”
Kvitova reeled off four consecutive games while taking the first set and appeared to be cruising to victory when she moved 5-1 up in the second.
But Williams had survived three match points against Victoria Azarenka earlier in the week and broke back to close the deficit to 5-3.
The Wimbledon champion refused to let Williams stage another comeback as she snatched another break to seal her first victory over the world No 1 in six attempts. ??
“I had never beaten her, so it is special day for me. I am happy it is in a semi-final here in Madrid so I can play the final,” said Kvitova.
Sharapova could have returned to No 2 in the rankings with a win over??Kuznetsova, but was broken three times before bowing out of the tournament.
Kuznetsova, who defeated Sharapova for the first time in seven years, holds a win over Kvitova in their previous meeting at last year’s French Open.