Nineteen-year-old Bianca Andreescu will face Williams in the final of the Rogers Cup.
The unseeded home favourite beat American Sofia Kenin in two sets, 6-4 7-6.
She's spent much of the past year out with a shoulder injury but gained attention with her Indian Wells triumph in March.

Australia reach World Cup knockouts, Turkey beat USA
Netherlands win Group F, Japan and Sweden also through
Beccacece hails Ecuador's biggest World Cup victory
New Zealand openers break record against England
MENA Golf Tour confirms exemption categories for 2026/27 season
