Stefanos Tsitsipas became the youngest player since Rafael Nadal in 2006 to beat three Top 10 players in the same tournament after his latest victory over defending Rogers Cup champion Alexander Zverev 3-6, 7-6 (11), 6-4.
The 19-year old from Greece saved two match points in the second set tiebreaker and rallied from a break down in the final set to book a semifinal date with South African Kevin Anderson in the last-four on Saturday.
Zverev takes the first set after falling behind quickly
Tsitsipas was quick off the mark, taking the first eight points of the match for an immediate 2-0 lead, the defending champion double-faulting on break point. Zverev was immediately back on level terms at 2-2. after some errors crept into the teenager's game.
He would continue to be in the ascendancy and at 15-40, drilled a forehand winner to claim a second straight break to hold a 3-2 advantage.
The Greek was having problems hanging on to his serve and serving to stay in the set at 5-3, a double fault and Zverev winner set up set point.
After Tsitsipas sent a backhand well long, the world number three had wrapped up the opening set and it appeared a repeat of their semifinal match from last week in Washington D.C. in which Zverev won in straight sets, was on the cards.
Tsitsipas fights from a break down to force a deciding set
Zverev kept the pressure on at the beginning of the second set, an easy hold giving him a 2-1 lead. At 15-30, Tsitsipas would surrender another break, his forehand letting him down on consecutive points as the German grabbed a 3-1 lead.
It seemed that this match was destined for a quick end, but one of the key points was about to be played.
At 4-1, 0-30 ahead, Zverev missed a drop shot and instead of three break points, the Greek would win the following three points to hold and maintain contact.
The defending champion would serve for the match at 5-3, but found himself down 15-30. After misfiring on a backhand down the line that brought up two break points, Zverev would overhit on a forehand and following the break, Tsitsipas held for 5-5.
A tiebreak would ultimately decide the set and it was the returner who got the better of most of the points, the server losing nine in a row from 2-3 on.
Tsitsipas finally held for 8-7 to end the run, both players missing on numerous chances including Zverev on a match point at 6-5.
The German also missed a chance to close out the match at 9-8 whilst the teenager bypassed four more set points, but finally at 12-11, the Greek had sent the match to a third set after Zverev sent an easy backhand wide.
Tsitsipas advances to semifinals in dramatic fashion
Zverev looked to regain his bearings as he held a 0-40 lead to open the third set, but it was a Tsitsipas forehand and a pair of unforced errors brought the game back to deuce. A fourth and fifth break chance went begging after the German failed to put either return in play.
He would have another chance to break in the third game when the Greek netted a forehand and this time, he made no mistake, blasting a forehand to take a 3-2 lead.
The turning point of the match came in the next game as a pair of double faults and a forehand miss handed the break to the teenager.
At 4-4, the defending champion had more chances to break, three in all, but some big hitting off of the ground spared Tsitsipas'' blushes and he took a 5-4 lead. He would put pressure on Zverev's serve, getting to 30-30, the German missing a volley to set up match point. He double-faulted to end his title defence in a most dispiriting way.