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.
|Jaguars end NFL playoff drought, Packers in danger|
|LeBron logs third straight triple-double as Cavaliers keep rolling|
|I´m happy playing for Lazio, says Man United target Milinkovic-Savic|
|Klopp dislikes ´Fab Four´ nickname|
|Wet pitch, rain delay final day in Perth|
|Ronaldo a legend, one of best ever – Ramos|
|Richardson to put Panthers up for sale at season´s end|
|Starc set to bowl despite bruised heel|
|Steelers star Brown suffers calf injury|
|Patriots edge Steelers in thriller|
|Kaka Retires: The last member of Brazil´s 2002 World Cup-winning team|
|Barcelona won´t give Real Madrid a guard of honour – Amor|
|Valverde adamant Clasico won´t decide LaLiga|
|Barcelona could have held Griezmann talks, says Amor|
|There are other challengers - Suarez tempers Clasico fever|
|Adverse drugs test has put Froome in ´horrible situation´|
|Pre-season win over Spurs key to City´s season, Guardiola claims|
|Juventus still monitoring Liverpool´s Can - Marotta|
|Griezmann apologises for ´awkward´ fancy dress|
|Barcelona lose Alcacer for El Clasico|
|Barcelona 4 Deportivo La Coruna 0: Suarez, Paulinho at the double in Clasico warm-up|
|Griezmann attracts criticism for ´racist´ fancy dress|
|Spedding extends Sarries losing streak, Wasps halt La Rochelle|
|Klopp calls for Liverpool consistency after Bournemouth battering|
|Coutinho won´t be drawn on Liverpool future|
|Kaka Retires: Ballon d´Or, Milan glory and Brazil brilliance among career highlights|
|Liverpool make top-flight history in Bournemouth victory|
|We can´t think we´re unbeatable - Jesus|
|Lukaku´s love for West Brom behind muted celebration - Mourinho|
|Bournemouth 0 Liverpool 4: Coutinho sparkles as Reds return to winning ways|
|Pool-topping Blues gain Sale revenge|
|Kaka Retires: Former clubs and team-mates pay tribute|
|Dybala needs to be in better physical shape - Allegri|
|Hearts break spell but Celtic join Milan, Porto among unbeaten elite|
|Juventus allowed Bologna nothing - Pjanic|
|Mourinho: United lost ambition in second-half slump|
|Lingard claiming second goal in Manchester United win|
|Rohit relishing overseas challenges after Sri Lanka ODI series win|
|Kaka eyes future in the boardroom after resisting Milan swansong|
|West Brom 1 Manchester United 2: Lukaku on target against old club|
|Former AC Milan and Brazil star Kaka announces retirement|
|Bologna 0 Juventus 3: Pjanic, Mandzukic and Matuidi send champions second|
|Feyenoord hit seven against Sparta Rotterdam|
|Dhawan hundred seals series win after Sri Lanka collapse|
|Gattuso slams ´embarrassing´ Milan after Verona defeat|
|Celtic´s 69-match unbeaten run ends with Hearts thrashing|
|Fekir keen on Barcelona, Real Madrid, Atletico, Manchester City... and Arsenal|
|Julian Savea not ruling out rugby league switch|
|Mbappe pips Martial to Telefoot Trophy|
|Verona 3 AC Milan 0: Gattuso´s side slip to insipid defeat|
|Man City´s celebrations? You should hear Burnley, says Rooney|
|Froome´s Vuelta test bad for cycling, says Bardet|
|Vince backs Cook and Root to overcome slump|
|Rooney wants greedy Rashford, has high hopes for Martial|
|Man City aren´t one of the Premier League´s best ever - Rooney|
|Rose romps to Indonesian Masters title|
|The best answer is laughing - Ronaldo mocks Gremio boss Renato|
|Brisbane Roar 1 Melbourne Victory 2: Williams and Barbarouses boost pre-derby mood|
|LeBron James wants to break ´stereotype´ around ageing stars after passing Larry Bird|
|Hazlewood frustrated as Anderson issues rallying call|
|The Ashes Round-up: Weather holds up Australia|
|Perez keen for ´spectacular´ Ronaldo to never leave Madrid|
|Rain halts Australia charge for Ashes glory|
|Numbers tell the story as Cook´s Ashes woes continue|
|Golovkin, Alvarez scared to face me - Saunders|
|Cook, Root fall as Australia close in on win|
|Knicks top Thunder in Anthony´s return to New York|
|Saunders outclasses Lemieux to retain title|
|Chiefs too good for Chargers, Lions win|
|Australia push further ahead in Perth|