A gutsy Elina Svitolina willed herself to the semi-finals after overcoming Caroline Wozniacki in a gruelling three-set match, knocking the defending champion out of the WTA Finals in Singapore.
The unbeaten Ukrainian outlasted Wozniacki 5-7, 7-5, 6-3 in two hours and 35 minutes to finish top of White Group.
Karolina Pliskova also qualified after the Czech defeated compatriot Petra Kvitova in straight sets earlier in the night.
Having won her opening two matches, Svitolina needed just one set to clinch her semi-finals spot, while Wozniacki required a straight sets victory.
"It was an amazing match, she really pushed me to the limit," Svitolina said after the match. "I tried to stay aggressive and focused on placing the ball in the right corners."
It was sweet revenge for Svitolina, who won just two games against Wozniacki at last year's WTA Finals.
Earlier, Pliskova became the first player into the final four after a 6-3, 6-4 triumph against Kvitova in 83 minutes.
Winless Kvitova needed to win in straight sets to keep her campaign alive but struggled throughout to complete a disappointing first WTA Finals appearance since 2015.
Former world number one Pliskova booked her spot in the semi-finals for the second straight year having also beaten Wozniacki earlier in the tournament.
It was Pliskova's first victory over Kvitova after three straight losses.
Kvitova played down fatigue as a factor after a gruelling season.
"I was really feeling well physically and mentally," she said. "I still had a lot of positive thoughts in the match to fight and turn it around but it didn't happen."
It was one-way traffic early with heavy-hitting Pliskova rattling off the opening four games en route to eliminating the number four seed, who had 15 unforced errors in the first set.
With the pressure off, Kvitova stormed to a 4-2 lead in the second set as it appeared a seventh straight match at the WTA Finals would go the distance.
But Pliskova rediscovered her rhythm to win four straight games and book a berth into the semis.