Kirsten Flipkens of Belgium defeated two-time former champion Ana Ivanovic 6-4, 6-0 on Friday in the quarterfinals of the Generali Ladies.
Top-ranked Victoria Azarenka and fifth-seeded Julia Goerges also advanced to the semifinals.
Flipkens, who is ranked 66th and had to qualify for the main draw, trailed 3-1 before winning 11 of the next 12 games.
"It's incredible that I've beaten her," Flipkens said. "I tried to play my own game and switched a lot between attacking and defensive shots. Then Ana started to make more mistakes. I think that was because of the way I was playing."
Ivanovic won the tournament in 2008 and 2010. Flipkens, who won her first title in Quebec City last month, will play Goerges for a place in Sunday's final.
Azarenka reached her 10th semifinal of the season by defeating Petra Martic of Croatia 6-2, 6-2. Azarenka won the first 10 points to build a 4-0 lead.
"I feel like I adjusted really well," said Azarenka, who had never played Martic before.
Azarenka has not dropped a set in 11 consecutive matches. She won in Beijing last week and pulled out in the quarterfinals at Tokyo the week before.
"Every day I have to push myself," Azarenka said. "It's not easy, even when it seems easy out there on court."
Azarenka will next play either Bethanie Mattek-Sands of the United States or Irina-Camelia Begu of Romania.
Goerges beat Sofia Arvidsson of Sweden 6-1, 6-4.