The world number two shook off the rust against his German opponent after a poor start, breaking twice in the second and third sets to earn victory in 93 minutes.
The 20-time Grand Slam winner, who exited in his opening match at the grass court season curtain-raiser a year ago to friend Tommy Haas, can displace Rafael Nadal from the world's top ranking spot if he reaches Sunday's final.
The 36-year-old finished to the cheers of a sold-out centre court on a chilly day. "I'm happy to have won a match after losing my last two (Indian Wells, Miami in March)," Federer said.
"This is a new start. I'm glad to have been able to win again, overcoming some difficult moments after being a set down. Mischa's level dropped in the last two sets and that gave me a chance to win.
"It feels a lot like home here, since it's only two hours of driving from Basel. It's a great place, but I'm hoping for some sun this week."
Federer lost the first set to Zverev, older brother of world number three Alexander Zverev, but quickly recovered to post his sixth win in as many meetings in the series.
The Swiss was playing his first match in nearly three months after skipping the spring clay court season for a second year in succession in order to fully concentrate on his grass preparation.
Federer finished off Zverev, whom he beat a year ago in the Wimbledon third round, on his first match point, a passing winner.
The top seed improved to 18-2 on the season as he began the pursuit of his 98th career trophy.
Indian Prajnesh Gunneswaran, ranked a career-best 169, achieved a win in his first ATP main draw appearance, beating Canadian sixth seed Denis Shapovalov 7-6 (8/6), 2-6, 6-3 for the first upset of the week.
(This story has not been edited by Business Standard staff and is auto-generated from a syndicated feed.)