© Getty Images
Franck Ribery and Thomas Muller both had chances to open the scoring for the German champions, but it was the hosts that opened the scoring when De Blasis sent a through-ball in for Elkin Soto to fire into the bottom corner.
It took Bayern just three minutes to level the scores though as they won a free kick just outside the box, which Bastian Schweinsteiger stepped up to curl in off the inside of the post.
Yunus Malli came close to restoring Mainz's lead just before the break, but he hurried his finish, firing it straight at Neuer to leave the keeper with an easy save.
Malli was involved again early in the second half with a solo run from the half-way line, but Neuer was ready again to make the save.
Rafinha and Robben both tried to set up Ribery for another effort as the half progressed, but Mainz held firm at the back to make sure that the visitors' chances were limited.
The visitors continued to push though, and managed to edge in front in injury time when Muller sent a through-ball in for Robben, leaving the Dutchman with a simple finish.
The result leaves Bayern 14 points clear at the top of the table, while Mainz sit 11th.