Yunus Malli beat the offside trap on a pass from Nicolai Mueller in the 51st minute to open the scoring.
Eric Maxim Choupo-Moting finished off a quick counterattack in injury time to seal the victory. Niki Zimling squared the ball to Choupo-Moting at the far post and the substitute forward tapped it in from close range.
Neither team created any real opportunities in the first half. Mainz made the most of the few they had after the break.
Hannover dropped to their 10th defeat away from home.
