Russian seventh seed Svetlana Kuznetsova struggled past Australian 30th seed Samantha Stosur 6-4, 6-7, 6-3 to book her place in the French Open final on Thursday.
Kuznetsova will take on compatriot Dinara Safina, the world number one, in an all Russian final on Saturday.
The 2004 U.S. Open champion bagged a scrappy opening set after breaking decisively in the seventh game.
Kuznetsova, the Roland Garros 2006 runner-up, was forced to a tiebreak in the second set which her opponent took 7-5 after rallying from 5-2 down.
The Russian snatched the decider's only break in the sixth game and held serve to seal the win on her first match point when Stosur netted a forehand.