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.
|Where you at? Cleared Fury calls out Joshua|
|Pochettino: Alderweireld out until February|
|Wydad Casablanca 2 Urawa Red Diamonds 3: Marvellous Mauricio double proves decisive|
|Cardona given five-match ban for ´discriminatory´ gesture against South Korea|
|Fury clears comeback hurdle as UKAD proceedings resolved|
|Knee injury rules Wales´ Faletau out of Six Nations|
|James still settling at Bayern, says Heynckes|
|Pistorius bruised in alleged prison assault|
|Manchester City captain Kompany out for ´a short time´|
|Klopp: Liverpool need Lallana ahead of busy period|
|Spurs list Leonard as probable for season debut|
|It was diversity in education – Mourinho addresses derby fracas|
|I encourage City to celebrate - Guardiola defends players after Old Trafford controversy|
|I´m no actor – No regrets for Klopp over heated interview|
|Anderson: Duckett incident a non-event|
|Shingler commits to Scarlets|
|Everton were like United at Liverpool - Allardyce defends Anfield approach|
|Paulo Bento hired as Chongqing Lifan head coach|
|Wolfpack and Toulouse to make Magic Weekend history|
|Ramsey hamstring injury ´not a big one´|
|Watford´s Zeegelaar gets three-match ban as appeal is rejected|
|Struggling Northampton sack Mallinder|
|Matthaus raves about Spurs star Kane|
|Cook: England must improve damaged reputation|
|´Several clubs´ discussing Arda move as Barca exit nears|
|No ultimatum as Arsenal´s Ozil and Sanchez talks rumble on|
|Su-Mourinho? Wenger offers advice to City and United|
|Bayern planning ´serious talks´ with Robben, Ribery|
|Titans lure Roosters veteran Gordon|
|Hazlewood welcomes Johnson advice and eyes Root scalp|
|Pereira replaces Villas-Boas at Shanghai SIPG|
|Van Gaal rejected Leverkusen to hold out for a ´big club´|
|Cook dismisses retirement talk heading into 150th Test|
|Williamson lauds record-equalling Taylor as Kiwis celebrate series win|
|Dolphins stun Brady and Patriots|
|Inzaghi and Lazio left feeling ´defrauded´ after Torino defeat|
|Marsh confident and ready to heap misery on England|
|New Zealand sweep Windies with 240-run victory|
|Man United more boring under Mourinho, claims Van Gaal|
|Rodgers return a medical decision for Packers|
|Stanton rips ´unprofessional´ and ´circus times´ with Marlins|
|Zidane: Real Madrid want to win Club World Cup|
|Worker to open batting as Guptill misses ODI series|
|Stanton excited to step into ´winning environment´ with Yankees|
|Morata ruled out of Huddersfield trip due to ´impossible´ workload|
|Valverde singles out Hazard & Morata as chief Chelsea threats|
|Irving to miss Bulls game with quad injury|
|Lazio 1 Torino 3: Inzaghi´s men lose ground as Immobile sees red|
|Reading 2 Cardiff City 2: Late comeback makes light of Warnock dismissal|
|Jets QB McCown´s season over with broken hand|
|Wagner received no contact over Borussia Dortmund job|
|From the ridiculous to the sublime - Clermont overcome ´absurd´ episode to thump Saracens|
|A Mourinho myth? Man United booked for simulation more than any Premier League side|
|Eagles QB Wentz out for season with torn ACL|
|Brook to face Rabchenko in light-middleweight bow|
|Yankees confirm Stanton deal|
|Clermont irked by ´absurd´ Saracens saga|
|Bairstow wants England to regain trust|
|Ronaldo´s ego is his biggest motivator - Valdano|
|Bayern threaten legal action over Leno transfer rumours|
|Thompson welcomes golf´s change in policy over viewer call-ins|
|Potter delighted by underdog Ostersunds´ trip to Arsenal|
|Chelsea can bounce back from West Ham loss, says Conte|
|Real Madrid will relish PSG test, says Xabi Alonso|
|Conte urges Chelsea to be ´positive´ over Barca Champions League draw|
|Heynckes wary of Besiktas threat|
|Ostersunds handed fairytale Arsenal tie, Napoli face Leipzig|
|Taylor pays moving tribute to Crowe after equalling century record|
|Emery: PSG ´can compete with Real Madrid´|
|Totti urges Roma focus on Serie A despite encouraging Champions League draw|