Australian Open champion Sofia Kenin has extended her outstanding run of success at grand slams this year by beating an injury-hit Danielle Collins 6-4 4-6 6-0 to reach the French Open semi-finals.
In the last four, the American will face Czech Petra Kvitova, who had earlier overcome some nervy and potentially costly double-faults to beat 66th-ranked Laura Siegemund 6-3 6-3.
Kenin, who won the Australian Open at the start of the year and then reached the fourth round at the U.S. Open last month, has now won a tour-leading 15 matches at majors this year.
Collins, who had won a rain-delayed three-set quarter-final against Ons Jabeur the previous day, left the court for a medical time out while trailing Kenin 4-0 in the third set.
Two-time Wimbledon champion Kvitova normally dictates play with her big serve and forehand but she double faulted multiple times when she being broken twice in the second set by German Siegemund.
Yet it wasn't the seventh-seeded Czech, yet to drop a set in her five matches at this year's tournament, who made the costliest double. That indignity befell Siegemund, who served one up on Kvitova's second match point.
The German also needed a medical time out to have her lower back treated after dropping serve to give Kvitova a 3-2 lead in the second set.
It was another emotional occasion for Kvitova, who is getting ever closer to her first grand slam title since she suffered damage to ligaments and tendons in her playing left hand when fighting off an intruder in 2016.
Kvitova, who will be playing her first French Open semi-final since 2012, the year she lost to eventual winner Maria Sharapova, said: "Eight years ago I was young, I already won my Wimbledon title (in 2011) and I was kind of the favourite.
"I couldn't imagine that I can be in the semi-final of a grand slam and final of the Australian Open even before. I'm really glad in the last couple of years I improved my results. I'm proud of this, and I hope this journey, it will not end yet."