Canadian teenager Leylah Fernandez shocked another high-ranked opponent in second seed Aryna Sabalenka to reach the US Open final – where she will face 18-year-old Briton Emma Raducanu.
Unseeded Fernandez, who turned 19 on Monday, won 7-6 (7-3) 4-6 6-4 to edge a tense semi against the Belarusian.
Fernandez, ranked 73rd, had already beaten defending champion Naomi Osaka and fifth seed Elina Svitolina.
Raducanu awaits after she beat Greek 17th seed Maria Sakkari later.
After Raducanu continued her own dream run in New York, the pair set up the eighth Grand Slam final in the Open Era between teenagers.
It is the first since the 1999 US Open when Serena Williams beat Martina Hingis.
Fernandez clinched her place in Saturday’s final after showing all of her nerve and skill once again to beat 23-year-old Sabalenka.
On a raucous Arthur Ashe Stadium, Fernandez fell to the baseline in shocked celebration before giving a heart sign with her fingers as she lapped up the acclaim of the pro-Canadian crowd.
“My mental toughness has come from years and years of hard work and blood. On-court and off-court sacrifices,” Fernandez said.
“I just I really wanted to be in the final. I fought for every point.”
Fernandez showed great resilience having fallen a break down early in the first set and having seen Sabalenka instantly wipe out a break in the final set.
But the outcome was as much down to Sabalenka, who has never reached a Grand Slam final, being overwhelmed by the pressure of the situation.
Among several nervy moments at crucial stages, she produced a double fault at 4-2 in the first set to give the break back and missed an easy set point at 6-5.
Even though she recovered to level the match, Sabalenka was undone again by two more double faults and nervy returns in what proved to be the final game of the match.
Asked how she managed to win, Fernandez laughed: “I have no idea! I’d say because of the New York crowd.
“They have helped me and cheered for me and never gave up for me, they fought for me. Thanks to them I was able to win