Eugenie Bouchard has produced a brilliant fighting display to win her grudge match against Maria Sharapova at the Madrid Tennis Open.
The pair faced each other in the second round in Spain with Bouchard winning 7-5 2-6 6-4 in a competitive and tense match.
Bouchard had called Sharapova a cheat before the Russian's return to competitive action last month after a 15-month doping ban.
Bouchard, 23, saw the five-time grand slam winner as her idol when she was growing up but her admiration vanished when Sharapova tested positive for the banned substance meldonium at the 2016 Australian Open, which led to a 15-month suspension.
The match was the most eagerly anticipated when the draw was made after Bouchard's comments in the media in April when she said Sharapova was a "cheater" and should not have been allowed to compete again after her positive test.
Bouchard entered Madrid after five tour-level opening round losses in a row and her three-set first round win over Alize Cornet was her first since the Australian Open in January.
However, she managed to win a gruelling 70-minute first set against the 30-year-old Russian by clinching the 12th game.
Sharapova, who reached the Stuttgart Grand Prix semi-finals last month in her first tournament since being banned, roared back with a dominant display to take the second.
But the Russian played too many risky shots in the third set and, despite breaking Bouchard's serve in the eighth game immediately after surrendering her own, she dropped another service game to allow Bouchard to serve out for the match.
The pair endured an awkward and brief handshake after the Canadian clinched her place in the third round.