World number one Dinara Safina downed Slovakian 20th seed Dominika Cibulkova 6-3 6-3 to reach the French Open final.
The Russian will face compatriot Svetlana Kuznetsova, seeded seventh, who has since defeated Australian 30th seed Samantha Stosur, in Saturday's showdown.
Cibulkova opened a 2-0 lead before Safina, a Roland Garros finalist last year, won five games in a row and bagged the opening set after 49 minutes as her opponent failed to control Safina's ripped forehand.
The Slovakian wasted five break points in the second set, letting Safina wrap up victory on her second match point after one hour 41 minutes to keep alive her dreams of winning a maiden grand slam title.