Maria Sharapova was one game from defeat before battling back to beat Spain's Garbine Muguruza in the French Open quarter-finals.
The Russian, who won the title in 2012, wrested the initiative from Muguruza to win 1-6 7-5 6-1.
The 27-year-old goes on to face Eugenie Bouchard, after the Canadian beat Carla Suarez Navarro 7-6 (7-4) 2-6 7-5.
World number two Novak Djokovic beat Milos Raonic in straight sets and will face Ernests Gulbis in the last four.
Gulbis thrashed sixth seed Tomas Berdych 6-3 6-2 6-4.
Sharapova and Bouchard both showed their fighting qualities to recover from perilous positions in their quarter-finals.
Muguruza, the unseeded 20-year-old who beat Serena Williams in the second round, broke three times to win the first set against Sharapova in 27 minutes and led 5-4 in the second, but Sharapova hauled her way back.
The seventh seed broke early in the third and saw off five break points in a 14-minute game at 2-1 before powering to the finish line.
Bouchard, 20, came back from 5-2 down in the first set and 4-2 down in the third as she battled to control Suarez Navarro's heavy topspin.
The Canadian, who reached the Australian Open semi-finals in January, double-faulted on her first match point but took her third with a raking forehand into the corner.
Court Philippe Chatrier
Maria Sharapova (Rus) (7) bt Garbine Muguruza (Spa) 1-6 7-5 6-1
Sharapova after reaching her fourth successive French semi-final: "There was little I could do in the first set as Garbine was playing so well. 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."
Muguruza said: "It was very close. It's tough now because I had the opportunity to win the match. But I need more experience in these kind of matches. I think I played very good in three sets, but in the important moments I need to improve my mentality."
Novak Djokovic (Ser) (2) bt Milos Raonic (Can) (8) 7-5 7-6 (7-5) 6-4
Djokovic said: "It is complicated to play against him because he has a great serve, powerful and accurate, difficult to anticipate. It was important to be mentally strong and consistent."
Raonic said: "He didn't allow me to do what I would have liked to do, whereas against [the other players] I gave myself more possibilities just because of not only the level of myself, but also the difference of level in opponents."
Court Suzanne Lenglen
Eugenie Bouchard (Can) (18) beat Carla Suarez Navarro (Spa) (14) 7-6 (7-4) 2-6 7-5
Bouchard tells the crowd: "I am just so happy right now, thanks to everyone, this is just completely unbelievable. I'm so happy to spend a few more days in Paris and look forward to the semi-final. It feels a bit like home here."
Suarez Navarro said: "I was up in the first set; I lost. I was up in the final set; I lost. It is difficult to speak now. I'm not happy with the result. But she was fighting until the end. She deserved to win."
Ernests Gulbis (Lat) (18) beat Tomas Berdych (Cze) (6) 6-3 6-2 6-4
Gulbis said: "It was my best match of the tournament so far. Everything worked. Tomas was getting angry because I was hitting the lines all the time but, sorry, that's part of the sport."
Berdych said: "The way I was playing there was no way I could win. It was pretty bad. It was my fifth match in two weeks. You need to be ready for the whole two weeks and if you have the kind of day I had today you have no chance to get a good result."
Scottish left-hander Isabelle Wallace advanced to the third round of the girls' singles with a 0-6 6-3 6-4 victory over Tereza Mihalikova of Slovakia. The 17-year-old recovered from the loss of the first set in 22 minutes to secure a match against 10th seed Francoise Abanda of Canada.
However, her fellow 17-year-old Katie Boulter was beaten 6-0 6-3 by Ioana Loredana Rosca of Romania and then lost a deciding tie-break in the doubles with Serbian partner Ivana Jorovic, 1-6 6-3 10-6 to Simona Heinova of the Czech Republic and Russia's Anastasiya Komardina.
Lost in translation
Judy Murray's tweet that "Sharapova is like a tea bag. Put her into hot water and you'll find out how strong she is" leaves the Russian feeling somewhat, erm, strained. "Who is that?" the Russian replies.
When told it was Andy Murray's mother, Sharapova is asked about being compared to a tea bag and says: "Can you explain that to me? I love tea. I'm a big tea drinker. I don't understand what she means."
When the meaning is explained in further detail Sharapova says: "That's great. She's very creative."
Quotes of the Day
"Well, first, I mean, you know, we're not friends, so there is that. Of course as a child I looked up to her and I remember watching her in the finals of Wimbledon, and thought what she was doing was so cool and I wanted to do the same thing." Eugenie Bouchard on Sharapova.
"I don't know her very well personally. We just did a little shoot together last year at the Australian Open. Other than that, that was it." Sharapova on Bouchard.
"What do I learn about it? I'll tell you when I'm not in as bad a mood and I look at it a little bit more clearly." Milos Raonic is struggling to take the positives out of defeat.
"What took me so long? I think I was eating wrong. I had the wrong diet. Everybody was talking about this gluten free diet. My diet is full on gluten. I like a lot of ketchup, a lot of unhealthy stuff, so there is a balance which I found in the last couple of years." Ernests Gulbis explains why he has finally made a Grand Slam semi-final.
Selfie of the day
Courtside interviewer Fabrice Santoro on Twitter: "Nice interview on court with Genie Bouchard at Roland Garros."