"I'm just playing better", Federer said, after his semi-final win.
"I think it pays off playing aggressive here in Montreal", Federer said in a courtside interview after his 6-4 6-4 win over the 12th seed.
Zverev advances to face the second-seeded and World No. 3 Roger Feder on Sunday.
He wasted two break points at 4-3 in the second, and Zverev was able to get the break for 6-5 after two Shapovalov double faults.
After capturing the admiration of a hometown crowd with a victory against the top-seeded and World No. 2 Rafael Nadal in the third round, Shapovalov finally saw his tournament run come to an end.
Through this victory, which was peppered with nine aces, the 36-year-old legend has extended his match-winning streak to 16, which is his longest win streak in five years.
Whoever won the other semifinal, Federer knew he would be facing a much younger opponent.
Federer said he knows Haase well from serving with him on the ATP player council and from practicing together.
"Sascha is an unbelievable player, he's going to be a champion", said Shapovalov.
"It's a huge opportunity for them". Very rarely, except maybe when Andy, Novak and Rafa (Nadal) were coming up. Not even I probably achieved finals of a Masters 1000 at that age.
"But even Zverev, same thing".
Zverev told Shapovalov during handshakes at the net that the two are sure to meet again and will likely be rivals for many years.
The Rogers Cup final between Federer and Zverev will start at Court Central will start at 4 pm local time, 1:30 am IST (Monday). The second seed is also in line to match Ivan Lendl's record of 94 ATP World Tour titles, which is second only to Jimmy Connors' 109.
Haase, who upset seventh-seeded Grigor Dimitrov in the third round, reached his first career Masters Series semi-final. "Next week (in Cincinnati), different conditions, different courts, so it's tournament by tournament".
Wozniacki, the Rogers Cup champion in 2010, overcame Sloane Stephens of the United States 6-2, 6-3.