Dane Caroline Wozniacki reached the last four of the Stuttgart Grand Prix with a 6-4 6-1 victory over Germany's Andrea Petkovic.
The world number one was 4-1 down in the first set before rallying to win 10 straight games against her opponent.
Australian Samantha Stosur also reached the semis with a 2-6 6-3 7-6 (7-3) win over world number three Vera Zvonareva.
Stosur will now play Julia Goerges, while Wozniacki will face Agnieszka Radwanska.
Goerges won an all-German battle with a 6-4 6-4 victory over Sabine Lisicki, while Poland's Radwanska defeated another German, Kristina Barrois, 7-5 6-3.
"I am sorry to beat the home favourite but I am happy to be in the semis and hope you will support me," said Wozniacki.
"Today I felt good in here and my volleys felt great, an area I have been working on. I am pleased at the way I was able to finish the match today."
Stosur was also delighted with her own performance.
"It is the best match I have had all year," said last year's French Open finalist. "To come through this close and tight match is just wonderful."
The semi-finals will take place on Saturday as there is no play scheduled in Stuttgart on Friday.