Simona Halep mounted a stunning comeback to defeat Elina Svitolina and reach the French Open semi-finals after facing match point.
The Romanian came from a set and double break down to twice prevent Svitolina serving out for the match in a thrilling 3-6 7-6 (8-6) 6-0 victory.
With the last-eight line-up at Roland Garros having guaranteed a maiden grand slam winner, Halep is considered the clear favourite to triumph in Paris.
But fifth seed Svitolina was the more impressive player for a long while on Court Suzanne Lenglen, outmanoeuvring and outthinking her rival until finally she stirred.
Halep won five games on the bounce in the second set before prevailing in a tie-break in which she staved off a match point, and then took advantage of a downcast Svitolina to dominate the decider.
She will face Karolina Pliskova next, with the world number three having beaten home hope Caroline Garcia.
A missed overhead smash left 2014 finalist Halep facing two break points in her first service game and, though she fought back to deuce, Svitolina did forge ahead 2-0.
There was a repeat performance in game four as Svitolina went a double break up, sealed with a stunning forehand return from a timid second serve.
Svitolina - a quarter-finalist two years ago - continued to play the more aggressive tennis and was dictating the rallies, with Halep forced into reactive shots that her opponent always seemed to anticipate.
The third seed got off the mark when serving to stay in the set and then wiped out one of the breaks as she showed signs of finding her rhythm off both wings.
That revival looked set to continue when, following a solid hold, Halep won a mesmerising 24-shot rally and then found the line with a precise backhand to lead 30-0 when returning.
But Svitolina dug deep to roar back and become the first player to take a set off Halep at this year's tournament.
Needing a prompt turnaround at the start of the second set, Halep's woes initially continued as she was broken first game up and then saw Svitolina hold to love en route to racing into a 5-1 lead.
With glory in her grasp, Svitolina twice failed to serve out for the win as Halep came to life, unleashing some particularly vicious backhand strokes to assuage her pent-up frustration
Remarkably, she reeled off five consecutive games and led 40-0 against the serve before the tide turned again, with Svitolina earning the grittiest of holds to force a breaker.
Svitolina led that 4-2 before three unforced errors handed the initiative back to Halep and, after surviving a match point, she levelled it up.
A deflated Svitolina dropped serve at the start of the decider, which set the tone for a third set that Halep wrapped up with a hold to love, including an emphatic ace on match point.
Halep  bt Svitolina  3-6 7-6 (8-6) 6-0
Svitolina - 36/45
Halep - 26/27
Svitolina - 1/2
Halep - 2/3
BREAK POINTS WON
Svitolina - 4/9
Halep - 6/23
FIRST SERVE PERCENTAGE
Svitolina - 62
Halep - 79
PERCENTAGE OF POINTS WON ON FIRST/SECOND SERVE
Svitolina - 64/40
Halep - 62/48
Svitolina - 101
Halep - 108