Venus Williams negotiated her toughest test at the Coupe Banque Nationale on Friday, fighting past Lucie Hradecka in their quarter-final.
The top seed in Quebec City dropped her first set at the WTA International tournament, but progressed 6-3 4-6 7-6 (7-3) in two hours 10 minutes.
American Williams, the world number 22, needed just one break to seal the first set, before Hradecka levelled in similar fashion - breaking to love in the 10th game of the second to force a decider.
The Czech lost her serve early in the third set, but it was the first of six breaks as the momentum swung wildly.
In the tie-break, Hradecka got the first mini-break but won just one of four points on her own serve thereafter as Williams survived.
Williams will take on fourth seed and compatriot Shelby Rogers, who dismissed Germany's Tatjana Maria 6-4 6-2.
The other semi will pit fifth seed Julia Goerges against Croatia's Mirjana Lucic-Baroni.
German Goerges beat Czech Andrea Hlavackova 6-7 (6-8) 7-5 6-2, while Lucic-Baroni was too good for Kazakhstan's Sesil Karatantcheva 7-5 6-0.
Lucic-Baroni is into a WTA Tour-level semi-final for the first time since reaching the last four at Wimbledon in 1999.