Roger Federer extended his winning streak to 15 matches as he beat Spain’s Roberto Bautista Agut to reach the Rogers Cup semi-finals in Montreal.
The 36-year-old Swiss won 6-4 6-4 in 68 minutes to set up a meeting with unseeded Dutchman Robin Haase.
Federer is aiming for the third Rogers Cup win of his career and sixth title of a remarkable 2017 season.
Canada’s Denis Shapovalov plays Alexander Zverev of Germany in the other semi-final.
Federer secured the decisive first break at 4-4 in the opening set, then got the better of three consecutive breaks early in the second.
The 19-time Grand Slam champion has now won all 16 sets in his seven matches against Bautista Agut.
“I think it pays off playing aggressive here in Montreal,” said Federer.
“Plus I feel comfortable at the net so why not spend some time up there instead of slugging it out from the baseline?”
With world number two Rafael Nadal eliminated on Thursday by Shapovalov and world number one Andy Murray sidelined by a hip injury, Federer has an opportunity to regain his world number one ranking.
He would need to win in Montreal and have an equal or better finish than Nadal in Cincinnati next week to become the world number one on 21 August.
“Now that Rafa is out I know I can make big strides, especially if I was to go further than the semis here. But it’s all connected to great play,” said Federer.
Haase, ranked 52nd in the world, fought back to beat Argentina’s Diego Schwartzman 4-6 6-3 6-3.