Daria Kasatkina produced her best tennis under pressure to see off the challenge of Johanna Konta 6-4 6-3 and reach the final of the Kremlin Cup for the second year in a row.
The Russian, 21, is competing in what could be her last tournament of the year and she looks set to end an already-excellent season in style.
Kasatkina made it to two Grand Slam quarter-finals at the French Open and Wimbledon and WTA Premier finals in Dubai and Indian Wells, so if she could win her first title of 2018 on home turf on Saturday it would be a dream finish to the year.
For a time against Konta, it looked like it would be smooth sailing for the Russian as she charged into a 5-2 lead.
However, the Brit has been fighting hard in all her matches this week and she summoned that same spirit once again to save four break points in game eight and then break Kasatkina in game nine.
By this stage, it had become an extraordinary set. Both players had faced numerous break points and virtually every game could have gone either way.
In the end, Kasatkina came up with her finest moments when it mattered most. She hit a couple of sparkling winners to break Konta’s serve for the second time and take the opener 6-4.
Although it began with a bizarre exchange of breaks, the second set was far more straightforward for the Russian.
She gained confidence from a love hold in game three. Then she cleverly worked her way back into Konta’s next service game from 40-0 down and eventually broke to lead 3-1.
When Kasatkina followed that success with another love hold, the match was as good as over. And, sure enough, four games later she wrapped up the win by taking the second set 6-3.
Remarkable week continues for Ons Jabeur
The Russian will face a surprising opponent in the final in the shape of qualifier Ons Jabeur, who has had to win seven matches in Moscow to reach this stage.
After making it through three rounds of qualifying, the Tunisian beat Ekaterina Makarova, Sloane Stephens and Anett Kontaveit to reach the semi-final.
Jabeur then overcame a third opponent in the World’s Top 25, Anastasija Sevastova, 6-3 3-6 6-3 to reach the first WTA final of her career. Can she add a fourth high-profile scalp?
Whatever happens, the Tunisian will move up the rankings from 101 to 63. If she beats Kasatkina, she will be the new World No.49.