After surviving a tricky R16 test against Spain's David Ferrer, which he won after coming back from behind, the 36-year-old made light work of Roberto Bautista Agut 6-4, 6-4 in the quarter-final on Friday, August 11.
Unlike the match against Ferrer, in which he made a lot of unforced errors before managing a 4-6,6-4, 6-2 win, Federer was in complete control while decimating Agut. He was aggressive and made sure he attacked his opponent at the right moments to seal his 15th straight win this season.
"I think it pays off playing aggressively here in Montreal. Plus I feel comfortable at the net so why not spend some time up there instead of slugging it out from the baseline?" Federer said.
The Swiss legend will now feature in his 59th Masters 1000 semi-final. A win will give help Federer reach his first final of the tournament since losing to Jo-Wilfried Tsonga in 2014 title match.
Haase impresses in Montreal
Standing in his way is the 30-year-old Dutch player Robin Haase who ousted Diego Schwartzman from the tournament with a 4-6, 6-3, 6-3 win in the quarter-final.
Notably, Haase has had a good run in the tournament, beating the likes of Albert Ramos-Vinolas and Grigor Dimitrov en route to his maiden Masters 1000 semi-final.
However, it will be an uphill task for Haase in the semi-final, given Federer commanding display at the hard court tournament so far.
Federer eyeing world number one tag
Also, the Swiss star will be geared up to make the most of Nadal's absence in the ongoing tournament and strengthen his bid for reclaiming the world number one title.
Notably, if Federer can win in Montreal and outperform or match Nadal's run in the upcoming Masters 1000 tournament in Cincinnati, he can reclaim the numero uno tag after a five-year hiatus.
When is the match and how to watch it live
The Rogers Cup 2017 semi-final between Federer and Haase will played at Court Central at 3 pm local time, 12:30 am IST [Sunday].
India: TV: TEN 2. Live streaming: Sony LIV
USA: Tennis Channel. Live streaming: Tennis Channel
Australia: TV: ESPN. Live streaming: Watch ESPN
UK: TV: Sky Sports. Live streaming: Sky Go
Spain: TV: Sogecable
Malaysia: TV: Astro Supersport. Live streaming: Astro Go