Greek teen Stefanos Tsitsipas became the youngest player to beat four straight top-10 players in an event since the ATP World Tour was established in 1990, outlasting Kevin Anderson 6-7 (4), 6-4, 7-6 (7) on Saturday to reach the Rogers Cup final at Toronto.
Tsitsipas, who will be 20 on Sunday, will face the winner of Saturday's late match between top-ranked Rafael Nadal and Karen Khachanov.
"Playing in a Masters 1000 final is the best thing that can happen on your birthday," Tsitsipas said. "I cannot believe it."
Tsitsipas beat the fourth-seeded Anderson after topping seventh-seeded Dominic Thiem, ninth-seeded Novak Djokovic and second-seeded defending champion Alexander Zverev to reach his first ATP World Tour Masters 1000 semifinal.
Halep in final
A weary Simona Halep, upset over how her matches are scheduled, beat Ashleigh Barty 6-4, 6-1 to reach the final Rogers Cup final.
The top-ranked Romanian will play for the title Sunday against the third-ranked Sloane Stephens in a rematch of Halep's victory in the French Open final.
Stephens, preparing for her U.S. Open title defense, beat fifth-seeded Elina Svitolina 6-3, 6-3.
Halep reached the Rogers Cup final for the third time in four years. She won the last time it was in Montreal in 2016.
Halep complained Friday about playing the first semifinal day after two straight night matches. She contended she has the worst schedule in the 56-player event and "this happens almost every tournament."
Despite playing on only 15 hours rest, Halep was in control from the outset against the 15th-seeded Barty, eliminating the Australian in 71 minutes.
"I was very sore when I woke up," Halep said. "During the match, it's not easy to run so much. But, you know, I just tried to focus on what I have to play and, to make it a little bit easier, which I did in the end, was to finish it early."