Maria Sharapova succeeded where Serena Williams failed in quelling the fire of Garbine Muguruza to reach the semi-finals of the French Open for a fourth straight year.
Twenty-year-old Spaniard Muguruza caused the biggest upset of an unpredictable tournament in the second round with a stunning 6-2 6-2 win over defending champion Williams.
For a long time on Tuesday it looked like she would achieve a feat never before seen at a grand slam by beating both Williams and Sharapova at the same tournament.
But Sharapova's competitive instincts kept her in the match and she took her chance as the youngster faded to win 1-6 7-5 6-1.
The Russian - the champion in 2012 and runner-up last year - started nervously with a double fault and quickly found herself 4-0 down.
Muguruza appeared nerveless in her first slam quarter-final and was trading power and shrieks with Sharapova, and after 27 minutes she had the first set.
It looked like Sharapova had turned the match around when she broke serve for 2-1 in the second but, after missing a chance to lead 4-1, two double faults helped Muguruza back to 3-3.
At 5-4, the Spaniard was a game away from the semi-finals, but Sharapova made sure her opponent did not have a sniff before breaking for 6-5 and clinching the set on her third chance.
Sharapova had done an excellent job of slowing Muguruza down, although she was less than impressed to be given a time violation in the second game of the decider.
She moved ahead for the first time in the match at 2-1, and the key game was the next one as the seventh seed saved four break points.
That proved to be the end of Muguruza's challenge, the Spaniard's error count shooting up as Sharapova sealed victory after two hours and six minutes.
Sharapova had also recovered from a set down to beat Sam Stosur in the fourth round and has now won her last nine three-set matches.
In the semi-finals she will play Eugenie Bouchard, who also came through a three-setter against Spain's Carla Suarez Navarro.
The 20-year-old Canadian has remarkable poise on the big stage and, after reaching the last four at the Australian Open in January, she has matched that in Paris.
Bouchard fought back from 5-2 down in the opening set and 4-1 in the decider to win 7-6 (7/4) 2-6 7-5.