Defending Kremlin Cup champion Anastasia Pavlyuchenkova battled back from a set down to beat compatriot Daria Kasatkina on Friday to set up an all-Russian final with Svetlana Kuznetsova. (Read more tennis stories here)
At the ATP and WTA combined event Pavlyuchenkova, who is seeking her season's second and career ninth title won 2-6, 6-2, 6-4 in her first ever meeting with the 18-year-old qualifier in two hours.
Kasatkina, 102nd in the WTA rankings, dominated the play from the start, while Pavlyuchenkova, who won last week in Linz, Austria, looked visibly tired.
After taking the opening set in 39 minutes, Kasatkina suddenly lost her nerve allowing Pavlyuchenkova to pull the scores level at one set all after one hour 17 minutes on court.
In the deciding set, Pavlyuchenkova pulled away into a commanding 5-1 lead, which allowed her to secure her place in Saturday's match for the title.
"There were difficulties with everything. Even to be on the court was hard," Pavlyuchenkova said.
"My condition was really bad today. I didn't have strength or energy or even really very much desire, to be honest.
"But I hope I will manage to recover for the final as I want to show my top tennis on Saturday."
In the other semi-final Russia's two-time Grand Slam champion Svetlana Kuznetsova saw off Ukraine's Lesia Tsurenko in straight sets 6-2, 6-4.
In the ATP section top seed and defending champion Marin Cilic of Croatia barely broke sweat on his way to the semi-finals defeating Russian Andrey Kuznetsov 6-2, 6-1 in 54 minutes.
In the last-four round Cilic will face another Russian Evgeny Donskoy who ousted compatriot Teymuraz Gabashvili 6-3, 6-2.
Meanwhile, second seeded Spaniard Roberto Bautista Agut, last year's runner-up, cruised comfortably into the semi-finals with a win over Lucas Pouille to record his second win 6-4, 6-2 over the Frenchman in as many meetings.
"Pouille is a tough opponent but today after he broke back to level in the first set I managed to improve my game a great deal," Bautista Agut said.
"And I think I played better at the end of the match.
"I've lost all five of my season's previous semi-finals but I really want to make it to the final here. That's why I came to Moscow."
In the match for a place in the final Bautista Agut will face Germany's fourth seed Philipp Kohlschreiber, who disposed of Dutchman Robin Haase also in straight sets 6-2, 6-4.