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.”
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.
He is aiming to claim a record ninth Wimbledon title next month at the All England Club.
Federer finished off Zverev, whom he beat a year ago in the Wimbledon third round, on his first match point, a passing winner.
“Against a serve-volley player like Mischa, there is no rhythm, don't even look for it,” added Federer.
“It's more about concentration, being patient, staying positive and having good energy for the whole time — I had that.
“Now it's good to have a day off to fund some rhythm for the next match.”
The top seed improved to 18-2 on the season as he began the pursuit of his 98th career trophy.