Hubert Hurkacz overcame 53 winners from Nick Kyrgios to halt the Australian's nine-match win streak with a three-set quarter-final victory on Friday at the ATP Montreal Masters.
The Polish eighth seed managed 43 winners of his own in a rapid-fire 7-6(7/4), 6-7(5/7), 6-1 triumph that put him into his fourth semi-final at the Masters level.
Hurkacz will next face Norway's fourth-seeded Casper Ruud, who crushed home hope Felix Auger-Aliassime 6-1, 6-2, in 74 minutes.
Ruud will play his third Masters semi-final this season on Saturday, having defeated Hurkacz in their previous meeting in May at Roland Garros.
At the bottom of the draw, Dan Evans completed a comeback to defeat American Tommy Paul 1-6, 6-3, 6-4, needing two match points to overcome Paul in two and a quarter hours.
But the chance of an all-British semi-final at this elite level fell away as Jack Draper lost 7-6 (7/4), 6-1 to Spain's Pablo Carreno Busta after saving a pair of match points.
The 39th-ranked Evans, who managed only 15 winners, was decisively out-hit by Paul with 40.
Not surprisingly he said reaching his second career semi-final in Masters tournament was a hard slog.
Halep downs Coco
Toronto: Simona Halep served twice for her match against Coco Gauff without success on Friday before finally securing a 6-4, 7-6 (7/2) quarter-final victory at the WTA Toronto Masters.
The former number one, a two-time winner in Canada, made hard work of her triumph over the rising American teenager who just missed a chance at cracking the world ranking top-10 for the first time.
Halep needed a second-set tiebreaker to advance into the semi-finals in just under two hours. Double Grand Slam champion Halep earned her leading 183rd match win at the Masters 1000 level. She now owns 36 victories in 2022.
no djoker
Novak Djokovic pulled out of next week's hard-court tournament in Cincinnati because he has not gotten any COVID-19 vaccine shots and so is not allowed to travel to the United States.
That is also why Djokovic is not expected to be able to enter the US Open, the year's last Grand Slam tournament, which begins in New York on Aug 29.
Djokovic is a 35-year-old from Serbia who owns 21 major championships, one behind Rafael Nadal for the men's record. Djokovic has said he won't get vaccinated against the illness caused by the coronavirus, even if that prevents him from playing in certain tournaments.