Simona Halep will face Madison Keys in the final of the Rogers Cup after beating Angelique Kerber in three sets.
Romanian Halep, 24, beat the Australian Open champion 6-0 3-6 6-2 to reach the final for the second year running.
American Keys, 21, defeated Kristina Kucova - who knocked out Briton Johanna Konta in the quarter-finals - 6-2 6-1 in the other semi-final in Montreal.
Halep was forced to retire hurt from last year's final, handing the title to Swiss teenager Belinda Bencic.
Sunday's final - which begins at 18:00 BST - is a rematch of the pair's fourth-round meeting at Wimbledon, which Halep won in three sets.
"She hits the ball very strong," Halep said of Keys. "Her serve is good. It will be not like today, with many rallies."
In the men's final in Toronto, Kei Nishikori will face world number one Novak Djokovic at 21:00 BST.