Roger Federer extended his winning streak to 16 matches and moved into the Rogers Cup final with a straight-sets victory over Robin Haase in Montreal on Saturday.
The second seed this week, Federer was typically dominant on serve for much of the match and never really looked likely to fall victim to an upset against an opponent playing a Masters 1000 semi-final for the first time.
Haase battled gamely, particularly in an entertaining second set that went all the way, but was ultimately beaten 6-3 7-6 (7-5) as Federer earned the latest triumph of a sensational 2017 season.
Should he go on to win the final, the Australian Open and Wimbledon champion will secure a top-two seeding at the US Open as he continues his bid to reclaim the world number one ranking.
Still moving magnificently in the week he turned 36, Federer made an ominous start by moving 2-0 ahead - taking the fifth break point that came his way in Haase's opening service game.
Although the Dutchman surprisingly broke back, Federer immediately restored his two-game cushion before holding to love for the second time in three attempts.
The Swiss duly wrapped up the first set, but faced greater resistance thereafter as Haase produced some impressive serving of his own.
Having performed so admirably to force a tie-break, Haase started slowly but again showed his character by winning four points in a row from 4-1 down.
It was not enough for the underdog, though, and Haase was beaten when a loose forehand drifted wide on Federer's first match point.
Alexander Zverev and Canadian teenager Denis Shapovalov - the shock conqueror of Rafael Nadal earlier this week - meet in Saturday's second semi-final.
|Asensio credits Zidane for Madrid´s thrilling Betis comeback|
|Zidane hopeful over Marcelo hamstring injury|
|Overton replaces injured Plunkett for Blacks Caps ODI series|
|Bonaventura claims Milan can catch Inter|
|Bravo for Claudio! Guardiola to pick keeper at Wembley|
|Mourinho hoping for reinforcements at Sevilla|
|´Quick-healer´ Groves hopeful over shoulder injury|
|Real Madrid become first side to score 6,000 goals in LaLiga|
|Real Betis 3 Real Madrid 5: Asensio at the double in LaLiga classic|
|AC Milan 1 Sampdoria 0: Bonaventura makes it 10 unbeaten for Rossoneri|
|Schurrle excited to finally link up with Reus and Gotze|
|Fit-again Hughes included in England squad|
|New number one Federer revels in ´unbelievable´ week|
|Real Madrid defender Marcelo suffers hamstring injury|
|Costa fumes referees ´want to give me a card´, but Simeone plays down penalty row|
|Thiem regains Argentina Open title|
|Stoger makes Dortmund history with Gladbach win|
|Championship Review: Leeds fight back for point, Norwich & Ipswich share derby spoils|
|Racing beat La Rochelle to go second, Castres edge out Bordeaux|
|Borussia Monchengladbach 0 Borussia Dortmund 1: Burki unbeatable as Reus returns to haunt Foals|
|FA Cup ´magic´ no surprise to Pochettino after Rochdale thriller|
|Rochdale hero Davies: This is every kid´s dream|
|Atletico Madrid will not stop in pursuit of Barcelona, promises Gameiro|
|Banks boot pays dividends for Treviso|
|Lucky 13 and second successive title for Kvitova after Muguruza classic|
|´Wrong image´ to blame for VAR confusion in Manchester United´s FA Cup win|
|Rochdale 2 Tottenham 2: Davies denies Kane in FA Cup classic|
|Rieder stretchered off as Wasps extend Chiefs´ slump|
|Atletico Madrid 2 Athletic Bilbao 0: Gameiro and Costa settle cagey clash|
|NHL commissioner Bettman condemns ´reprehensible´ Smith-Pelly abuse|
|Visser, Scott and Nel among six recalled by Scotland|
|Bhuvneshwar and Dhawan inspire India´s Wanderers win|
|Napoli set club record with another Serie A win|
|Froome disappoints in time trial as Wellens wins Ruta del Sol|
|Napoli 1 SPAL 0: Allan sends hosts top of Serie A again|
|Federer makes short work of disappointing Dimitrov|
|Allegri allays Higuain injury fears|
|Blackhawks fans ejected after racist heckling of Capitals´ Smith-Pelly|
|Allegri convinced Juve can get past Spurs|
|Sri Lanka sweep series after dominating Bangladesh|
|Everton fear ´long-term´ injury for Mangala|
|If it isn´t Madrid, it´s Paris - Hazard tires of speculation|
|Luiten claims Oman Open title|
|Torino 0 Juventus 1: Champions win derby but lose Higuain|
|Neymar exit made Barcelona stronger - Ter Stegen|
|Remove T20 cricket from international schedule - Bayliss|
|Injured Higuain forced off against Torino|
|Jesus confident of returning strong after knee injury|
|DeGale launches Twitter attack on beaten Eubank Jr|
|We had to change hotels – Ovrebo recalls fury after 2009 Chelsea-Barcelona semi-final|
|Spalletti: Inter board will decide my future|
|Munro blitz helps Black Caps progress despite defeat|
|Fabregas still wary of timeless Iniesta|
|Liverpool´s 30-goal hero Salah: There´s more to come|
|Valverde: Coutinho dropped for the good of Barcelona|
|Garcia floors Rios for ninth-round TKO|
|Ronaldo better than Neymar? No says Xavi|
|Donovan Mitchell caps NBA All-Star challenges with dunk success|
|Anderson outlasts Nishikori to reach New York Open final|
|Steve Nash, Ray Allen among Basketball Hall of Fame finalists|
|Kevin Love: It was necessary to clean house in Cleveland|
|Real Madrid hurt you with nothing – Xavi says PSG loss an injustice|
|Conte: Chelsea need perfect game to stop Messi and Barcelona|
|LeBron James thanks Ingraham as Cavs All-Star vows to speak his mind|
|Archer says Rays could have best rotation in baseball|
|Bubba Watson takes lead with 65 at Genesis Open|
|Inter in a fragile moment, says Spalletti|
|Groves batters Eubank Jr to retain WBA crown|
|Montpellier see off plucky Oyonnax, Ashton stars in Stade mauling|
|Booed Emery praises PSG´s mental strength|