Teenager Belinda Bencic came from a set down to secure a shock 3-6, 7-5, 6-4 victory over world number one Serena Williams in the semi-finals of the Rogers Cup.
The 18-year-old handed Williams just her second defeat in 45 matches in a titanic battle that lasted two-and-a-half hours, a victory which sets up a meeting with Simona Halep in Sunday's final.
It looked all too easy for Williams early on as she broke Bencic twice to take a 5-1 advantage. Bencic broke back in the seventh game, but it proved to be just a momentary roadblock for Williams as she took the set 6-3.
The second set was a much tighter affair, with both players holding their serve as Bencic edged ahead 4-3. The Swiss star then broke Williams to give herself the chance to serve out the set, but Williams broke back immediately. Bencic would not be denied though, and she broke once more in the 12th game to take the set 7-5.
It was Bencic who came out with all guns blazing in the decider and she raced to a 4-0 advantage. Williams broke back to reduce the deficit to 4-1 and after the pair exchanged breaks, the world number one was able to bring it back to 5-4. But, showing a cool head that defies her young age, Bencic was able to hold firm and wrap up the set 6-4 and with it the match.
In the day's early semi-final, Halep beat Italy's Sara Errani 6-4, 6-4.