Serbia's Ana Ivanovic staved off a stirring fightback by compatriot Jelena Jankovic to reach the French Open final with a 6-4, 3-6, 6-4 victory on Thursday and also clinch the world number one ranking.
The second seed, runner-up last year, led by a set and 3-1, only for Jankovic to level and go ahead 3-1 in the decider, before Ivanovic recovered again to set up a final against Russian 13th seed Dinara Safina, who beat fellow-Russian Svetlana Kuznetsova 6-3, 6-2 in the other semi-final .
Ivanovic overcame a shaky start to recover from 3-0 down to take the first set and lead 3-1 in the second, only for a more aggressive Jankovic to win the next five games to level the match.
Jankovic twice led by a break in the decider but Ivanovic stormed back to reach her third Grand Slam final with a victory that ensures she will overtake Russian Maria Sharapova at the top of the rankings when they are released on Monday.
The 22-year-old Safina, who applied a treatment cream on a bruised left knee before the start of the match, saved a break point in the first game before stealing her opponent's serve with a crosscourt backhand winner.
A tense Kuznetsova stayed in the contest courtesy of Safina's unforced errors but she dropped serve for the third time in the eighth game.
Safina, the younger sister of two-times Grand Slam winner Marat Safin, claimed the opening set when the world number four sent a forehand wide after 39 minutes.
She went on to snatch Kuznetsova's serve to take the early lead in the second set, only for her to serve a couple of double faults that helped the fourth seed catch up.
Safina broke in the fifth game when Kuznetsova netted a forehand and staved off two break points to open a 4-2 lead.
She kept her form as Kuznetsova dropped serve again.
A steaming Safina did not let the opportunity slip from her grasp and sealed the win after one hour and 27 minutes when Kuznetsova sent a forehand wide.