Belinda Bencic retired in the third set as defending champion Elina Svitolina outlasted the injured Swiss to win 5-7, 6-3, 4-1 and reach her second straight final at the WTA Finals on Saturday.
Bencic was already struggling in the semifinal match with a right leg problem before the end of the first set, which she won.
Svitolina had made it through the group stage without dropping a set. Winning the WTA Finals in Singapore last season remains the biggest title of her career.
In the other semifinal, Karolina Pliskova of Czech Republic will take on top-ranked Ash Barty, Australia's first female year-end No. 1.
After holding serve to 6-5 in the first set against Svitolina, Bencic received a medical timeout to have her right leg treated during the changeover. Back on court, Bencic took the set on her third set point with a backhand down-the-line winner.
But the leg injury caused more problems for Bencic, allowing Svitolina to gain control of the match.
Bencic, who lost her serve in the first and ninth games of the second set, received further treatment when trailing 1-2 and 3-4 at the changeovers.
In the third set, Svitolina went ahead 3-0, and by 4-1 Bencic couldn't continue.
The tournament has been hit by injuries this year.
Naomi Osaka, the reigning Australian Open champion, withdrew ahead of her second round-robin match with a right shoulder injury.
Reigning U.S. Open champion Bianca Andreescu withdrew before her third round-robin match after injuring her knee in the previous match.