Maria Sharapova booked her place in the French Open final for the third year in a row when she beat up-and-coming Canadian Eugenie Bouchard 4-6 7-5 6-2.
The Russian seventh-seed, who lifted the Suzanne Lenglen Cup in 2012 and lost in last year's final, will take on Romanian fourth-seed Simona Halep who beat German Andrea Petkovic in the second semi-final.
Struggling with her serve, Sharapova, who is 18-1 on the red dirt this season, dropped the first set before playing deeper to level the contest, outrunning the 18th-seeded Bouchard in the third.
Sharapova has now won the last 19 matches in three sets she has played on clay since losing to Justine Henin in the third round at Roland Garros in 2010.
"She played an unbelievable match, her level was extremely high and I am just very lucky to be the winner today," Sharapova told ITV3. "I would prefer to win in two sets but she started so well. I have had some very tough matches but you put all the work in so that you feel fresh after three sets."
Halep overpowers Petkovic
Meanwhile, Halep advanced to her first Grand Slam final-6 win over Petkovic.
Halep, seeded fourth at the French Open, has been steadily improving at major tournaments. She reached the fourth round at last year's US Open, then advanced to the quarter-finals at the Australian Open in January.
Petkovic was also playing in her first Grand Slam semifinal.