Petra Kvitova came back from a set down to beat Samantha Stosur and set up a meeting with with Victoria Azarenka in the WTA Championships final.
Wimbledon champion Kvitova downed Stosur of Australia 5-7 6-3 6-3 in the first semi-final in Istanbul.
Belarussian Azarenka then wrapped up a routine 6-2 6-3 victory over Russia's Vera Zvonareva.
The winner of Sunday's final will rise to second in the world rankings behind Caroline Wozniacki.
"It's amazing how much she's been able to improve," said Stosur, who suffered a third consecutive loss against the 21-year-old Czech.
"I think I got beaten by a player who played very well today. She'll make a flurry of errors, but then she'll flip it over and you'll see a streak of winners."
Kvitova said: "It was very tough to break her. It was a great match for us. I have to go for the winners, it's the only way for me."
After losing her opening service game, Stosur broke back in the eighth game and then pounced when her opponent wobbled at 5-6 down, sealing the set with a smash.
Stosur had a point for a 2-0 lead in the second set but it was saved by Kvitova, who broke in the next game and went on to level the match.
Kvitova surged into a 5-0 lead in the decider, and weathered a brief fightback from Stosur to reach the final.
The second semi-final was a more scrappy affair, with Zvonareva hitting 47 unforced errors.
One of those came at 2-2 in the second set when Azarenka faced a rare moment of danger at 30-40 but, presented with a second serve, Zvonareva failed to locate the court.
Azarenka clinched the victory in one hour, 42 minutes and immediately set her sights on ending a three-match losing streak against Kvitova.
"It's going to be a really tough battle," the 22-year-old said. "The (No.2) ranking is a good motivation but I'm not really thinking about that too much.
"Tomorrow is about sudden death. It's the last match at a very important tournament.
"It's the first time in the final for both of us and we both want to win. It'll take everything out of us and I hope we can show the best tennis we can."
Kvitova, competing in the season-ending tournament for the first time, could take home the maximum $1.75m (£1.1m) jackpot, having also won all three of her round-robin matches.
Azarenka would have to make do with $1.63m after losing a dead rubber against Marion Bartoli on Friday.