Jankovic is looking for her fourth title of the season and ninth of her career
World number one Jelena Jankovic recovered from being a set down to beat defending champion Elena Dementieva and reach the Kremlin Cup final.
After a dreadful opening set, the 23-year-old fought back, winning 12 of the next 13 games to carve out a 0-6 6-1 6-0 win in one hour 45 minutes.
Jankovic will now face Russian Vera Zvonareva, who saw off compatriot Dinara Safina 6-2 7-6 (7-5).
After wins in China and Germany, the Serb is chasing a third straight title.
"I wasn't playing bad in the first set, I was playing my game," Jankovic said. "But Elena had answers for all of my shots.
"I tried to find an opportunity and finally I caught the initiative. I'm happy I was able to win this match as we both played very good tennis."
Zvonareva took command of the second semi-final, breaking Safina twice to wrap up the first set inside half an hour.
Safina forced the tie-break in the second set but the world number nine clinched it to reach the final for the first time.
"I tried to perform my best tennis today," Zvonareva said. "It was my first ever Kremlin Cup semi-final and I wasn't under pressure - I really enjoyed playing here."
Former world number one Marat Safin went through to the men's final after his semi-final opponent Mischa Zverev of Germany withdrew because of illness.
Unseeded Igor Kunitsyn made it an all-Russian final when he beat veteran Frenchman Fabrice Santoro 6-4 6-3 in the other men's semi-final.
Britain's Ross Hutchins narrowly failed in his bid to win a second straight ATP title as he and Australian Stephen Huss went down 7-6 (7-4) 2-6 10-6 to Potito Starace and Sergiy Stakhovsky in the doubles final.
Hutchins won his first ATP title alongside and Huss in Beijing two weeks ago.