Elina Svitolina is through to the final of the WTA Finals after beating Kiki Bertens 7-5 6-7 (5-7) 6-4.
Svitolina, 24, overcame the eighth seed in two hours and 38 minutes, the longest match of the tournament.
The 24-year-old is the first Ukrainian to reach the WTA Finals final and will face either Sloane Stephens or Karolina Pliskova, who contest the other semi-final on Saturday.
The final takes place at 12:30 (BST) on Sunday.
The pair traded early breaks in the first set but it then followed serve until Svitolina broke in the final game to go ahead in the match.
The Ukrainian saved four set points in the second and won three games in a row to go ahead but Bertens responded to force and win a tie-break.
The third set started with three consecutive breaks before Svitolina held to take a two-game lead and served out to win.
“It was a very tough battle and I was really proud of myself that I could stay positive because the match was really up and down.” Svitolina told BT Sport.
Looking ahead to the final, she added: “It’s the last match of the season and I’m going to give my best and leave everything on the court.”