Timea Babos edged past top seed Lucie Safarova to book her place in the final of the Coupe Banque Nationale in Quebec City.
The Hungarian was forced to fight hard in the face of strong serving from Safarova, who did not drop a point in any of her first four service games.
But Babos held on and saved set point in a first set tie-break before a single break was enough to win the second set and the match 7-6 (8/6) 6-4.
In the final Babos will face seventh seed Alison van Uytvanck, who eased past fourth seed Tatjana Maria 6-1 6-2 in a surprisingly one-sided second semi-final.
Zarina Diyas continued her stunning form at the Japan Open by shocking defending champion Christina McHale in the semi-finals.
World number 100 Diyas had to force her way through qualifying in Tokyo but has booked a place in her second WTA final after a 6-4 0-6 6-3 triumph over the American.
McHale broke the Kazakh in the opening game but Diyas fought back to level in the fourth game and went on to claim the first set.
McHale, who beat Katerina Siniakova in last year's final, then rattled through the second set, winning all three of her break points to set up a decider.
But Diyas, whose previous tour final was also on Japanese soil in Osaka in 2014, managed to stem the tide of McHale games and refocus in the third set to claim a memorable victory.
Diyas must overcome another qualifier to take the crown after home favourite Miyu Kato came from behind to defeat Croatia's Jana Fett in the second semi-final.
World number 171 Kiyu was broken three times in an inconsistent first set but raced through a second-set tie-break on her way to a 4-6 7-6 (7/1) 6-4 triumph.
Related links