Karolina Pliskova won a see-saw match against Simona Halep to claim the last semi-final spot at the WTA Finals in Shenzhen.
The world number two ran away with the first set but dropped the second and trailed 2-0 in the decider.
But Wimbledon champion Halep, the fifth seed, then went completely off the boil as Pliskova came back to win 6-0 2-6 6-4.
Czech Pliskova will face Ashleigh Barty of Australia in the last four.
Earlier, defending champion Elina Svitolina ensured she remained unbeaten in the group stage after dispatching alternate Sofia Kenin of the United States.
The eighth seed had already been assured of a place in the semi-finals but she still battled hard for a 7-5 7-6 (10) win in two hours and 10 minutes.
Svitolina told the WTA: "Each time I step on the court I have to win. My parents raised me this way - that I have to fight for everything, I have to give 100 per cent each time I play."
Svitolina will face seventh seed Belinda Bencic for a place in the final.