Mainz claimed an early lead and looked to be in control before Pierre Bengtsson was dismissed just before the interval, which allowed Munich to capitalise late on.
The home side were ahead inside six minutes when Julian Baumgartlinger found the space to deliver an inviting cross for Florian Niederlechner, but it was Munich defender Christopher Schindler who got the vital final touch to put the ball into his own net.
Mainz should have doubled their lead in a dominant start, but they wasted a great chance when Niko Bungert failed to beat Stefan Moreno with a free header from just a few yards out.
Despite struggling to cause any problems for the Mainz defence in the first half, Munich were handed a route back into the match when Bengtsson was shown a straight red card for a dangerous challenge on Krisztian Simon.
Mainz responded well as they frustrated the visiting side for long spells of the second half without ever looking capable of doubling their lead.