Unseeded Barbora Krejcikova saved one match point before booking a spot in the French Open final, where she will face Anastasia Pavlyuchenkova on Saturday.
Down 5-3, 30-40 on her serve in the decider against 17th-seeded Maria Sakkari, Krejcikova hit a backhand winner at the net to stay alive in the match. She finally held and broke back in the next game to level at 5-5.
Krejcikova needed five match points to seal the win 7-5, 4-6, 9-7.
Both Krejcikova and Pavlyuchenkova will play their first Grand Slam final.