Defending champion Elina Svitolina maintained her 100% record at the WTA Finals in China with a hard-fought win over American alternate Sofia Kenin.
Svitolina took her sixth match point to win 7-5 7-6 (12-10) in after Kenin had a chance to serve out each set.
The Ukrainian was already assured of a semi-final spot and plays Swiss seventh seed Belinda Bencic on Saturday.
Kenin, 20, replaced the injured Bianca Andreescu on Thursday and had no chance of progressing to the last four.
After also earning straight-set wins over Romanian fifth seed Simona Halep and second seed Karolina Pliskova of the Czech Republic, Svitolina had to show her fighting qualities to edge past Kenin in just over two hours.
Later on Friday, Wimbledon champion Halep plays Pliskova, with the winner securing a place in the other semi-final against Australian world number one Ashleigh Barty.
The winners meet in the final in Shenzhen on Sunday at 11:30 GMT.