Eighth seed Ashleigh Barty defeated unseeded American teenager Amanda Anisimova in the French Open to reach her first Grand Slam singles final.
The Australian beat her 17-year-old opponent, ranked 51st in the world, 6-7 (4-7) 6-3 6-3 in a rollercoaster match.
Anisimova battled from 5-0 down to take the opening set on tie-break and led 3-0 in the second before Barty rallied.
The 23-year-old will now play Czech teenager Marketa Vondrousova, who beat Britain's Johanna Konta, on Saturday.
"That was amazing, both good and bad," said Barty, who took more than a year away from the game to play professional cricket before returning in 2017.
"It was the hardest thing that I ever had to do.
"I am really proud of the way I fought, especially in the conditions which were cold and windy.
"Now I can't wait for the final, it's incredible."
Big swings in momentum
In a bizarre first set, the world number eight raced to a 5-0 lead with just 13 minutes on the clock before Anisimova won the next six games in a row.
The Australian stemmed the flow as she broke back at 6-5 down to take it to a tie-break, but the American - who stunned defending champion Simona Halep in the previous round - won five consecutive points to take the opening set.
The momentum changed hands several times in the second set too, with Anisimova going 3-0 up before being pegged back.
The teenager dropped her first set of the tournament as Barty won the next six games to level the match.
After two double faults from Barty, Anisimova claimed an early break in the final set but her more experienced opponent immediately broke back.
Barty then held her nerve as Anisimova, bidding to become the youngest finalist in Paris since Martina Hingis in 1997, failed to find a way back despite saving five match points.
Like the other semi-final between Konta and Vondrousova, a barely half-full stadium watched as Barty became the first Australian to reach a French Open singles final since Samantha Stosur finished runner-up in 2010.