Novak Djokovic became the first player to beat Rafael Nadal twice at the French Open as he slowly picked apart the 13-time champion in a semi-final for the ages.
The world number one won 3-6 6-3 7-6 (7-4) 6-2 in four hours and 11 minutes, setting up a shot at Stefanos Tsitsipas in Sunday's final.
Djokovic got the better of Nadal in the quarter-finals in 2015, winning that one in straight sets, but this was an epic.
It even saw tournament organisers seek and receive permission to delay the event's curfew to allow spectators inside Court Philippe Chatrier to see it through to the end.
Nadal burst into a 5-0 lead in the opening set, evoking memories of his bagel that began last October's straight-sets dismantling of Serbian Djokovic in the final.
This match would not follow a similar plotline, however, and when Djokovic broke Nadal's serve on the way to getting back to 5-3, it was game on again.
Six set points came and went for Nadal, but the seventh went the Spaniard's way when Djokovic netted. It was already enthralling but there was better to come.
Djokovic sped 2-0 ahead in the second set but Nadal snatched back the break immediately and to love, sealing the game with a whipped forehand down the line.
This was a battle and Nadal was wobbling, especially when Djokovic had 0-40 against the Spaniard's serve in game six. Nadal saved two but not the third as Djokovic went 4-2 ahead. The rallies were glorious, the tension hard to bear, yet this was just the second set.
Djokovic's level dipped in the ninth game and Nadal had two break-back points but could take neither. When Djokovic survived that test, he had both a set and the momentum in his favour.
The greatest clay-court player in history was the first man to crack in the third set, Nadal broken despite saving two break points. Amid astonishing scenes of sporting theatre, Djokovic then saved two break points himself, windmilling his arms as the crowd – Nadal's crowd – chanted "Novak, Novak".
But Nadal kept coming, earning another break point, and this one he converted with a forehand down the line. They traded breaks again, Djokovic first and then, just when he was looking floored, a revived Nadal. One set all, five games all, three hours in. Nadal had a set point at 6-5 but an audacious drop shot rescued Djokovic.
Nerve failed Nadal with a volley at 4-3 in the tie-break, putting a relatively easy putaway over the baseline, and that proved costly, Djokovic seeing it out with an ace followed by a perfectly placed shot into his lunging opponent's forehand corner.
It seemed the contest was destined to finish in front of empty stands, but then came an announcement that the late-night curfew would be lifted for one night only.
"In agreement with the national authorities, the match will be allowed to continue to its end in your presence," the crowd were told. They began booing as the statement began, before realising the anticipated bad news was not coming.
Nadal broke serve in game one of the fourth set, but double faults were beginning to drip from his racket and his seventh of the match helped Djokovic soon get back on terms at 2-2.
And Djokovic broke again to lead 4-2, landing a service return on the baseline, with Nadal only able to dab the ball back into the net. He held in double quick time, and another double fault from Nadal set the tone for the final game. It was Djokovic's day and he completed a streak of six successive games to earn that final berth.
Data Slam: One step closer to 20 for Djokovic
If Nadal had seen off Djokovic here and followed up by beating Tsitsipas in the title match, he would have moved to 21 grand slam titles, going above Roger Federer and into the all-time lead for most singles majors in the men's game.
Instead the result opens the door for Djokovic to land his 19th slam this weekend, and very soon the Big Three could be tied together on 20. Perhaps they will finish their careers that way, but the way Djokovic fought here was a telling sign he believes he will finish his career top of the pile.
He is the first man to beat the Spaniard in a French Open semi-final, and he richly deserved this success.
WINNERS/UNFORCED ERRORS
Djokovic – 50/37
Nadal – 48/55
ACES/DOUBLE FAULTS
Djokovic – 6/3
Nadal – 6/8
BREAK POINTS WON
Djokovic – 8/22
Nadal – 6/16