The top seed lost his first match of the grass-court season last week in Stuttgart to Tommy Haas, but was in imperious form all week at Halle, culminating in the 6-1, 6-3 final victory over the home favourite Zverev.
Italian Open champion Zverev had won all three of his previous finals this season, but was blown away by a vintage performance from the 18-time major champion in only 53 minutes.
“I played great, I felt good from the start,” said Federer.
“It was by far my best match of the week. After my long break, I’m feeling excellent and it’s a pleasure to be back and I’m fit for Wimbledon.”
The 35-year-old, who skipped the entire clay-court season, has still only lost two matches this year en route to four titles, including the Australian Open in January.
“My goal was to keep myself 100% for the grass season,” he added.
“I now hope that I’ll stay healthy in this second part of the season and we’ll see what happens.”
Federer raced out of the blocks and broke serve twice to reel off the first four games of the match.
The home crowd tried their best to get behind the world number 12 Zverev, and even though he got on the board in game five, Federer broke again to wrap up the opening set in just 23 minutes.
Zverev, 20, battled hard to stay with his illustrious opponent at the start of the second set, but failed to make any inroads into the Federer serve.
The 18-time major champion was in irresistible form and he brought up two break points after a scintillating rally.
A trademark forehand passing shot and a comfortable service game moved Federer to within a game of victory.
And he confidently served it out to wrap up the 92nd ATP Tour title of his career, which moves him to within two of second-placed Ivan Lendl on the all-time list.