Still only 20, Zverev produced a polished display in Montreal to triumph 6-3 6-4 - the young German's power and precision hugely impressive throughout.
However, Federer looked to be well short of his physical best as the match drew to a close, his lack of mobility prompting concern with the US Open looming.
Federer could reclaim the world number one ranking next week in Cincinnati, but it remains to be seen if the Australian Open and Wimbledon champion will be fit to play.
Zverev, meanwhile, has now claimed two Masters 1000 titles in 2017 and appears destined to win many more in the future.
The German, who saved three match points in his tournament-opening victory over Richard Gasquet, dictated proceedings early on and saw his early pressure rewarded with a 4-1 lead.
After a brief wobble as he looked to see out the first set, Zverev moved ahead thanks to some strong serving.
Both players raised their level and were forced to save break points at the start of set two, Zverev winning one particularly stunning rally in the midst of the match's most engrossing period.
Yet Federer appeared to struggle physically thereafter and Zverev was able to cruise to the winning line, denying the Swiss a 17th victory in succession.