The German beat Federer 6-3, 6-4 in the Rogers Cup final on Sunday for his 10th consecutive victory.
The 20-year-old Zverev, the winner last week in Washington, D.C., matched Federer with a fifth tournament title this year. He also stopped Federer's win streak at 16.
He will try to keep it going at an event in Cincinnati this week.
"It's something amazing, back-to-back weeks," said Zverev, who handed Federer only his third loss of the year. "I feel great.
"I feel like I'm playing some of the best tennis of my life. But Cincinnati is a very tough draw. I don't know if I will be able to go far there because I am a little bit tired. But game-wise and confidence-wise, I'm super happy the way everything is standing."
He avenged a loss to Federer at Halle, Germany on June 25 and evened their career head-to-head record at two wins apiece.
The fourth-seeded Zverev won $894,585 while the second-seeded Federer got $438,635.
Zverev used some sharp groundstrokes to get the only service break he needed to win the first set.
The lanky German escaped a break point at 1-0 in the second set with consecutive aces, and an off-looking Federer never challenged again. The 36-year-old Federer said he only felt "aches and pains" from playing in his first tournament of the hardcourt season, but it looked to be more than that.
Zverev said he only noticed that his opponent's serve wasn't quite as hard. He broke a mistake-prone Federer for a 4-3 lead and served out the match.
He will climb to seventh in world rankings with the win, his second Masters 1000 Series victory this year along with Rome, and is looking more and more like a future Grand Slam tournament winner.
"I am in the top 10 now and I feel like I'm playing the right tennis, well enough tennis to be there," he said. "Everything is going pretty natural.
"Obviously winning the two Masters 1000 events, everybody would be proud of that."
Zverev, the youngest Rogers Cup finalist since Novak Djokovic in 2007, was coming off an emotional victory over Canadian teenager Denis Shapovalov in the semifinals that was seen by some, including Federer, as the start of what could be a long rivalry between two of the sport's young guns.
"I loved watching Denis play," Federer said. "I think he had the matches of the tournament, with all these great three-setters that he had, especially the one against Rafa (Nadal).
"I think he caught the attention of the tennis world, and rightfully so. Alexander has been around for a while now. I'm just really happy for him, to see that he's taking everything not just to the next level, but the two next levels, winning two Masters 1000s. They're extremely difficult to win and he's won two this year."
Federer missed a chance to tie Ivan Lendl for second place with 94 career tournament wins. Jimmy Connors leads with 109.
He gave no details of his physical state, but is not sure if he will play in Cincinnati or save himself for the U.S. Open, which starts Aug. 28. He will be going for a third Grand Slam title this year, after wins at the Australian Open and Wimbledon.
"I'll see how I feel after five days of playing, if I'm ready to play in Cincy next week or not," he said. "I felt all right all week.
"I had a bit of muscle pain, aches and pains here and there, just because it's back on the match courts, on the hard courts. After vacation and practice, it's always a bit of a shock for the body."
In the doubles final, fifth-seeded Frenchmen Pierre-Hugues Herbert and Nicolas Mahut defeated seventh-seeded Rohan Bopanna of India and Ivan Dodig of Croatia 6-4, 3-6, 10-6.