Lucie Safarova fought back to beat Serbia's Ana Ivanovic and become the first Czech woman to reach the French Open final in 34 years.
The 13th seed trailed 5-2 in the first set but reeled off five straight games on her way to a 7-5 7-5 win.
She will face world number one Serena Williams, who later beat 23rd seed Timea Bacsinszky, in Saturday's final.
"It is a dream come true. I cannot believe it," said Safarova after converting a third match point.
"I started slowly but tried to keep up the level and play really aggressively because that was the only way to win."
Safarova made the Wimbledon semi-finals last year, but is through to her first Grand Slam final.
The 28-year-old will try to match the achievement of her compatriot, Hana Mandlikova, who won the title in 1981.
|Russell Fuller, BBC tennis correspondent|
|"Safarova was the better player for the final three-quarters of her match and hit with much greater freedom once she acclimatised to a Roland Garros semi-final.|
|"She has been the most eye-catching performer from her half of the draw throughout the second week but will have a huge experience deficit to close in the final."|
It was seventh seed Ivanovic, playing her first major semi-final since winning the title in 2008, who started better as she raced 5-2 ahead, only to crumble with the set in her grasp.
Safarova reeled off five straight games and moved ahead early in the second, but there was another twist to come.
Serving for a place in her first Grand Slam final at 5-4, the Czech double-faulted three times - once on match point - before giving up her serve with a net cord.
Ivanovic, 27, could not capitalise, however, handing the initiative straight back, and at the second time of asking Safarova closed it out before falling to the clay in celebration.
"The game at 5-4 I was really overthinking and couldn't really concentrate to be there in the moment," said the Czech.
"My serve wasn't working and, yes, I was a little bit fighting with everything on the court at that moment.
"But when I lost the serve, I shook it off and started to play aggressive again, and then I served it out."
Ivanovic said: "I really started well, like every other match. I really had a good plan coming into the match, but I just felt like I ran a little bit out of gas.
"I started dropping short and she played really, really well. She was very aggressive."