Mainz leapfrogged Bayer Leverkusen to move up to fifth in the Bundesliga thanks to a 3-1 win at the Coface Arena.
Yunus Malli was on target twice for Martin Schmidt's men with Jhon Cordoba also on target.
Leverkusen, without their suspended coach Roger Schmidt, pulled one back through Javier Hernandez, but they were unable to find a route back into the game as they dropped a point behind their hosts.
Malli's early shot was blocked by Bernd Leno, before Cordoba's effort on the rebound was also blocked as Mainz took the game to their guests.
Mainz did not have to wait much longer for the opening goal, though, with Malli lobbing Leno after an excellent turn to get past Jonathan Tah for his ninth goal of the season.
Hakan Calhanoglu tested Loris Karius with a swirling cross from the left which was dipping just under the crossbar without the Mainz goalkeeper's intervention.
Cordoba doubled Mainz's lead after half an hour, turning and firing in a low shot from the edge of the penalty area.
For the first time this season, Leverkusen defender Tah was taken off with Tin Jedvaj sent on for the second half, but he was unable to do any better as he gave away a penalty for handball.
Malli sent the spot kick into the top left-hand corner to strengthen Mainz's grasp on all three points, but Leverkusen refused to give up.
Hernandez headed one back for them in the 65th minute after Admir Mehmedi headed Calhanoglu's free-kick to him, but Karim Bellarabi wasted the best chance to make things interesting with seven minutes remaining.
Mainz held on to all three points to move into Europa League qualification territory, ahead of the midweek round of Bundesliga matches.