Straight sets wins for both the Swiss and the German means a rematch of the Halle Open final on Sunday.
Roger Federer full of 'confidence' after setting up Montreal final with Alexander Zverev
Roger Federer used a dominant service game to beat Dutchman Robin Haase 6-3, 7-6 in Montreal on Saturday, setting up a Rogers Cup final against German Alexander Zverev.
Haase, playing in his first ATP World Tour Masters 1000 semi-final, did well to force a second-set tiebreak but Federer proved too much to handle as the Swiss fired down nine aces and dropped only nine points on serve.
Federer, whose five titles this year include the Australian Open and Wimbledon, credited a positive mindset for helping him extend his winning streak to 16 matches.
- Canadian Open: Wozniacki claims first win over a world No 1 to reach semi-finals
- Rogers Cup: Federer strolls into semi-finals as Shapovalov's stunning run continues
- Andy Murray: A US Open doubt after withdrawing from Cincinnati
"Confidence can get you a long way, and if you're feeling fine physically and you are ready to fight mentally you have a lot of things in the bag," said the 19-time grand slam champion.
"And then the only thing that maybe is missing is practice, but sometimes practice is overrated. It's all about the matches at some stage.
"I'm happy I'm playing as well as I am this year on the match courts. At the end that's what matters because I spent hours and hours on the practice courts in the last year."
Next up for Federer, who is seeking his third Rogers Cup title after triumphs in Toronto in 2004 and 2006, is Zverev after the fourth seed advanced with a 6-4 7-5 win over Canada's Denis Shapovalov.
Federer owns a 2-1 edge against Zverev in head-to-head meetings, most recently a 6-1 6-3 win in the Halle Open final in June.
Zverev ended Shapovalov's magical week on his third match point when the 18-year-old Canadian, who had been the story of the tournament after a stunning run that included an upset win over world No 2 Rafael Nadal, sent a backhand wide.
Shapovalov had a great chance at 4-3 in the second set but failed to convert on his three break points.
"I wasn't too sharp on the big points," said Shapovalov, who made headlines in February for inadvertently blasting a ball into an umpire's face in a fit of rage during a Davis Cup quarter-final.
"I had a couple looks at some second serves and I missed some returns. But at the end of the day he did a good job to make me play those points."