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.

BC Partners seeks control of LIV Golf from Saudi wealth fund
Rahm marks DP World Tour return with victory in Abu Dhabi
Khalifa Al Kaabi reaches last 16 at Dakar 2026 Youth Olympics
Serbia’s Ub win FIBA 3x3 World Tour Dubai title
Messi becomes first to win MLS Golden Boot in consecutive seasons
