Elina Svitolina ended Simona Halep’s Rogers Cup title defence in stunning fashion as she beat two of the world’s top four players in one day to reach the final in Toronto.
World number two and defending champion Halep was swept aside 6-1 6-1 in just 56 minutes as both players competed in their second match of the day.
Svitolina fought back to beat Wimbledon champion Garbine Muguruza in their delayed quarter-final and then swept aside the Romanian to set up a final showdown with Caroline Wozniacki on Sunday.
Svitolina, ranked five in the world, came out firing and reeled off five successive games on her way to the first set.
She repeated the feat in the second, but could not serve out the match as Halep broke for the only time in the match.
Halep had come back from a set and 5-1 down to beat Svitolina at this year’s French Open but any hopes of a repeat were dashed immediately as the Ukrainian broke straight back to secure victory.
Wozniacki also had few problems seeing off Sloane Stephens.
The sixth seed reached her sixth final of the year with a 6-2 6-3 win.
Wozniacki has lost all five of her finals in 2017, while Svitolina has won all four of hers.
Earlier on Saturday, Svitolina hit back from a set down to knock out Muguruza.
The Spanish world number four had won the first set on Friday night before rain prevented them finishing, but Svitolina recovered to win 4-6 6-4 6-3.
Halep, who did not manage to start her quarter-final on Friday, had come through 6-4 6-2 against Caroline Garcia but had no answer in her last-four clash.