The Czech second seed would have taken top spot from Caroline Wozniacki, who crashed out on Wednesday, by winning the tournament.
But Chinese fourth seed Li, the French Open champion and Australian Open finalist last year, came from a set down to clinch a 1-6 7-5 6-2 in just under two hours.
Wimbledon champion Kvitova looked on course for a routine win when she broke three times to take the first set, but she was made to pay for not taking her chances as she wasted seven break points in the second.
Li converted the two she carved out and stepped up a level in the decider to claim victory.
She will take on Belorussian Victoria Azarenka in the final after the third seed saw off Poland's Agnieszka Radwanska.
The seventh seed was unable to repeat her success against Wozniacki as Azarenka also responded to dropping a one-sided first set to win 1-6 6-3 6-2.
It was a day of upsets in the men's draw as top seed Juan Martin Del Potro and third seed Richard Gasquet both went out in the quarter-finals.
Argentinian Del Potro, the 2009 US Open champion, went down 7-6 (9/7) 6-4 to Cypriot Marcos Baghdatis.
Frenchman Gasquet also crashed out in straight sets with Denis Istomin of Uzbekistan claimed a 6-4 7-6 (7/4) victory.
Finland's Jarkko Nieminen swept aside American Bobby Reynolds 6-3 6-3, while France's Julien Benneteau beat Alex Bogomolov Jr of Russia 6-2 6-4.