Stosur's win improved her record to an impressive 7-2 against top-five players for the year.
She won her opening match of the tournament against Maria Sharapova before being rolled by Victoria Azarenka on Wednesday night.
Li produced the same results to set up Friday night's elimination encounter.
Stosur looked refreshed after a day off and immediately started overpowering Li, jumping out to a 4-0 lead.
At 30-0 in the fifth game, Stosur produced a bad mishit on her second serve, the ball landing two feet behind the baseline on the advantage side of the court.
It seemed to momentarily rattle Stosur as she dropped serve by losing the next three points.
It proved a minor speed bump for Stosur as she collected the first set in just over half an hour.
The Queenslander continued to dominate Li in the second set with the Chinese star unable to hold a service game in the entire match.
Stosur has lost both of her meetings against Kvitova - at the 2008 French Open and in the third round of this year's Australian Open.
Stosur was determined to make up for her poor showing in her 6-2 6-2 defeat to Azarenka on Wednesday night.
"I was thankful it wasn't my last match and had another chance to come out and try and redeem myself and play better," Stosur said.
"If I lost tonight, I wanted to lose on my terms and play well at least.
"Obviously, I didn't really get close to that, and I played really well from start to finish and I'm glad that I'm now in the semis and have another chance to try and do it again."
Azarenka will take on Vera Zvonareva in the other semi-final on Saturday after Kvitova defeated Agnieszka Radwanska 7-6 (7-4) 6-3.
- AAP