EPA/WARREN TODACaroline Wozniacki of Denmark celebrates her win over Sloane Stephens of the United States of America after their semi-final match in the Rogers Cup Women's Tennis tournament in Toronto, Canada, 12 August 2017.
The sixth seed claimed a 7-5, 6-7, 6-4 victory at the Aviva Centre in the Canadian city to record her first win over a world number one.
Wozniacki will face the victor of Saturday night's semifinal between defending champion and No. 2 seed Simona Halep of Romania and No. 5 seed Elina Svitolina of Ukraine.
The 36-year-old won 6-4, 6-4 as he has his sights set on a third Rogers Cup title of his career and sixth tournament win of the campaign.
Stephens, who is ranked 934 in the world, was playing in just her third tournament after missing 11 months while recovering from foot surgery.
Svitolina lost the first set against Wimbledon champion Garbine Muguruza before the rain arrived on Friday night, and the fifth seed fought back on Saturday to win 4-6 6-4 6-3.
Having dropped only one game in her victory over Barbora Strycova, Halep was a convincing victor once again as she eased past Caroline Garcia 6-4 6-2.
Halep needed 70 minutes to advance as she didn't drop a serve and broke Garcia three times.