Australia's world number one Ash Barty has suffered a surprise second round defeat at the Rogers Cup in Toronto, going down in three sets to Sofia Kenin.
Ranked 29th in the world, Kenin took the match to Barty from the outset before edging a 6-7(5) 6-3 6-4 victory.
It's the first time Barty has lost to Kenin in four matches, most recently beating the American in three sets in the round of 16 at the French Open.
Kenin will now play either Victoria Azarenka or Dayana Yastremska in the third round.
MORE: When is the US Open? | Kyrgios - I can still produce at the highest level
"I'm just really tired to be honest, she's a tough player and it was such a tough match so I'm happy to get through," Kenin said after the biggest win of her career.
"With her you've gotta fight every point.
"The first set didn't go my way, but I just stayed there and I fought."
Having enjoyed a first-round bye, the match was Barty's first since taking some time off after Wimbledon and a busy European summer swing.
She bowed out of Wimbledon in a fourth round defeat to Alison Riske, but was coming off wins at the French Open and Birmingham which saw her rise to the top of the WTA rankings.
In Toronto, Kenin was up a break in the first set, but faltered while serving for the set, allowing Barty to take the tiebreak.
After racing out to a 4-0 lead in the second set, Kenin again allowed Barty back into it, but the Aussie was unable to overhaul the advantage.
Kenin again raced out to a big lead in the deciding set going out to a 4-1, two-break lead, but Barty gave herself a chance of a comeback by nabbing a break of her own.
Serving at 5-3 to stay in the match, Barty saved three match points to take it to 5-4.
The 20-year-old Kenin overcame some serious nerves serving for the match, but converted her first match point opportunity on her serve to advance to the second round.
Kenin becomes the youngest player to beat a current world number one since Christina McHale upset Caroline Wozniacki in 2011.