Simona Halep came through a topsy-turvy battle with Angelique Kerber to reach the final of the Rogers Cup for the second year in succession.
A bizarre encounter featured two distinct swings in momentum, Halep winning six games in a row at the start and end of the match, either side of Kerber also reeling off six games in succession to claim the second set and forge ahead in the decider.
Halep, the runner-up to Belinda Bencic at this tournament 12 months ago, eventually prevailed 6-0 3-6 6-2 and will face either Madison Keys or Kristina Kucova in Sunday's final.
Australian Open champion Kerber has never beaten Halep on a hard court and was the architect of her own downfall in the first set, racking up 20 unforced errors.
When the German fell a break down at 3-2 in the second, the end looked likely to arrive quickly.
Yet Halep gave up the initiative in dramatic fashion and her frustration was clear as Kerber levelled the match before opening up a 2-0 lead in set three.
There was still one final twist in the tale, though, Halep recovering from 0-30 to break Kerber's streak and then breaking in the next game.
All of a sudden, the Romanian was in command once again and her victory was sealed when a Kerber forehand hit the net cord and dropped just wide.