Maria Sharapova, the 2012 champion, will face rising Canadian star Eugenie Bouchard in the French Open semifinals on Thursday.
The Russian former number one and four-time Grand Slam winner came back from a set down to defeat Spaniard Garbine Muguruza 1-6, 7-5, 6-1
But it was not before she was given an almighty fright by the 20-year-old Muguruza who had knocked out defending champion Serena Williams in the second round.
"There was little I could do in the first set as Garbine was playing so well," said Sharapova who had also dropped the first set of her fourth round tie against Samantha Stosur.
"I needed to pick up my energy and start moving my feet. It was tough losing the final last year and it has given me greater motivation to go one step further this time."
Bouchard was also involved in a dogfight as she became the first Canadian woman to reach the French Open semi-finals.
She trailed badly in all three sets before prevailing 7-6 (7/4), 2-6, 7-5 over Spaniard Carla Suarez Navarro in 2hr 22min.
The 20-year-old, is the only woman to reach the last four of both majors this season, after losing to Li Na in the Australian Open semifinals in straight sets.
The only other Canadian to reach a Grand Slam semifinal was Carling Bassett at the US Open in 1984.
Novak Djokovic stayed firmly on course to win his first French Open title as he tamed big serving Canadian Milos Raonic 7-5, 7-6 (7/4), 6-4 to reach the semifinals.
The Serb world number two is only missing the Roland Garros trophy to complete his Grand Slam set but he moved closer towards his dream behind the back of an excellent return of serve.
He will now play 18th seed Ernests Gulbis for a place in the final after the Latvian eliminated Czech Republic sixth seed Tomas Berdych.
The 25-year-old Latvian, better known for his colourful behaviour and outspoken comments off the court than his achievements on it, stormed to a 6-3, 6-2, 6-4 win.