Aryna Sabalenka battled down world number one Iga Swiatek at the WTA Finals in Texas to secure her place in the championship final.
It was the second time the Belarusian, ranked seventh, has beaten the Polish star in their six professional meets, ending with a 6-2 2-6 6-1 triumph in just over two hours in Fort Worth.
In doing so, she stunned a world champion. Swiatek has ended the year that saw her reach the top of the game with 67 wins and nine losses.
Sabalenka will face Caroline Garcia, who raced into the final with a one-sided 6-3 6-2 victory over Maria Sakkari, in the final.
A day after she rallied from a set down to beat Daria Kasatkina in a gruelling last-four affair, French number six seed Garcia showed little sign of fatigue as she eased past Sakkari in just 75 minutes.
Garcia, 29, becomes the oldest player to reach the final since Venus Williams in 2017.