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.
|Murray downs Wawrinka for first win in a year to set up Edmund clash|
|Messi will star for the good of Argentina - Sampaoli|
|Nainggolan greets Inter fans as Roma exit nears|
|Defiant Sampaoli hits back at ´criminal´ critics|
|Shaqiri, Xhaka fined but not banned over Switzerland goal celebrations|
|Bielsa did not need convincing to join Leeds|
|Pastore lands in Italy as Roma move edges closer|
|Zimbabwe quartet to miss tri-series amid pay dispute|
|Saudi Arabia 2 Egypt 1: Last-gasp Al Dawsari earns consolation win|
|Suarez and battle-hardened Uruguay expose Russia´s limitations|
|Uruguay 3 Russia 0: Suarez & Cavani strike as hosts miss out on top spot|
|Hareide says France criticism was taken out of context|
|Idowu wants to make it Messi´s World Cup farewell|
|Outgoing Nagelsmann still has Hoffenheim´s trust|
|Mexico v Sweden: Osorio´s rehabilitation relieves Ochoa|
|World Cup´s oldest player El Hadary saves penalty for Egypt|
|Umar Akmal faces anti-corruption unit after making spot-fixing claims|
|This will not be Pogba´s last World Cup - Deschamps|
|South Korea v Germany: Reus and Werner wary of pace and Son|
|Alderweireld aims to earn his Spurs against in-form Kane|
|Serbia v Brazil: Mitrovic ready to inflict World Cup agony on Brazil|
|Debuchy signs three-year Saint-Etienne deal|
|France won´t be extra motivated by Hareide barbs - Deschamps|
|Ryans descend on Russia - Socceroos keeper reveals 27 family members at World Cup|
|Alonso hopes French GP result was a one-off for McLaren|
|Messi ´not guilty of anything´, insists Maradona|
|Egypt keeper El Hadary makes history as World Cup´s oldest player|
|Guerrero to give Jedinak ´big hug´ for help battling ban|
|Eurovision and World Cup glory in the sights of eternal optimists Iceland|
|As long as we win, I don´t care who scores - Werner relishing World Cup experience|
|Wigan head coach to switch codes after being handed Scottish Rugby role|
|Switzerland v Costa Rica: Lang shrugs off Shaqiri controversy|
|Runners and Ryders: Watson jumps two places, Casey into automatic spot|
|Fekir offered contract extension, reveals Lyon president|
|Which F1 races has Lewis Hamilton not won?|
|Return to Sevilla would be a dream, says Layun|
|Paine: Don´t write off Australia´s World Cup defence|
|Gareca: My Peru future? I´ll give an answer soon|
|Bayern Munich´s Friedl to see out loan deal at Werder Bremen|
|Hooper out for at least a month, Folau set for hearing|
|Skoko backs former team-mate Dalic to take Croatia ´quite a way´ at World Cup|
|If Iceland go forward, we will go forward - Lada replaces longboat in Norse odyssey|
|Morata ´too expensive´ for Dortmund - Zorc|
|Hearn questions ´deluded´ Wilder´s desire for Joshua fight|
|Belgium game a ´perfect dress rehearsal´ for England, insists Carragher|
|World Cup permutations: How can Argentina qualify for last 16?|
|Bulldogs playmaker Foran out for season|
|RFU chairman offering no guarantees over Jones future|
|Algeria looking for new coach after parting ways with Madjer|
|Cahill still has something to offer Australia - Bosnich|
|Fear has discouraged Danes from travelling to Russia, says Sorensen|
|Reds rally to complete four-game sweep of Cubs|
|Arzani ready for Socceroos start against Peru – Skoko|
|Braves place closer Vizcaino on DL with right shoulder inflammation|
|West Indies hold slight edge against Sri Lanka|
|Don´t touch my Grizou – Pogba defends France team-mate|
|Yankees catcher Sanchez likely heading to DL|
|Messi is frustrated and hungry – Mascherano|
|Nainggolan the ´ninja´ Inter were missing, says Spalletti|
|Anthony fires back at Thunder fans unhappy he´s staying|
|MLS Review: New York City edge Toronto in Torrent´s first game|
|Watson shoots 63 to win Travelers for third victory of season|
|Iran contest not all about Ronaldo, insists Santos|
|Truex´s team use tricky strategy to win at Sonoma|
|World Cup 2018: England at home, Brazil´s party and exploding White Nights in St Petersburg|
|Pogba reveals ´issues´ with Mourinho|
|Mascherano plays down rumours of Sampaoli bust-up|
|Sweden winger Durmaz says racist abuse ´passed limit´|
|Morgan hails ´outstanding´ Buttler century|
|Paine to discuss ODI future after England whitewash|