Czech player Karolina Muchova became one of the lowest ranked players to reach the French Open women's final as she edged a thriller against Belarusian second seed Aryna Sabalenka.
Ranked 43rd in the world, Muchova won 7-6 (7-5) 6-7 (5-7) 7-5 after saving a match point at 5-2 in the decider.
Muchova, 26, will play either Polish top seed Iga Swiatek or Brazilian 14th seed Beatriz Haddad Maia on Saturday.
Defending champion Swiatek faces Haddad Maia in Thursday's second semi-final.
Sabalenka's exit means 22-year-old Swiatek will remain world number one, a position she has held for 62 consecutive weeks, if she beats Haddad Maia and reaches the final.
Sabalenka, 25, served for the match in the decider but was overcome with tension as Muchova kept her composure to win an epic in three hours 13 minutes.
"I don't really know what happened," Muchova said. "It is unbelievable. I tried to keep fighting and it worked. I'm so happy."
Muchova keeps nerve as Sabalenka loses hers
Before play started on women's semi-finals day, many expected Swiatek would be trying to set up another final against Sabalenka when she walked out on Court Philippe Chatrier.
The pair have been the two dominant players in the world this year, already contested the Stuttgart and Madrid finals on clay, and both moved serenely through the Roland Garros draw to the last four.
But, in an unexpected twist, Australian Open champion Sabalenka came unstuck against the unheralded Muchova, who fell down the rankings after being ravaged by injuries.
Muchova reached the Australian Open semi-finals in 2021 before the physical problems stalled her progress, but has reminded everyone at Roland Garros of her undoubted talent.
Playing with her usual variety, Muchova caused problems for Sabalenka throughout and also showed her resilience to hang in when it looked as though she was heading towards defeat.
Sabalenka had started stronger in the decider, Muchova fighting off four break points for 1-1 before the Czech lost serve to trail 4-2.
Knowing two holds of serve would be enough to see her through, Sabalenka moved 5-2 ahead but was unable to close out victory when Muchova saved a match point.
But, serving for the set, Sabalenka became tight - an old failing which resurfaced at the worst possible time as she aimed to reach back-to-back Grand Slam finals.
A poor game allowed Muchova to restore parity, more nerves creeping in for Sabalenka when she served for a 6-5 lead.
From a commanding position of 40-15, the Belarusian produced back-to-back double faults, hit a heavy backhand long and then made another error to hand momentum to her opponent.
Muchova, with the crowd now behind her, retained her composure and served out to love before taking the warm acclaim of the Chatrier crowd.