Leverkusen recovered from going a goal down to lead 3-1 by the half-hour mark on their way to another home win and retaining their one ponit lead at the top of the Bundesliga.
Tim Hoogland put Mainz into a surprise lead after eight minutes, but Leverkusen hit back with goals from Michal Kadlec (15), Tranquillo Barnetta (19) and Toni Kroos (30).
Niko Bungert pulled one back for Mainz after 67 minutes but Eren Derdiyok settled home nerves with a fourth two minutes from time.
Bayern Munich 2-0 Hoffenheim
Bayern Munich moved to top of the Bundesliga table for a short while after winnig on Friday, notable becasue it was the first time Munich have led since May 2008.
Martin Demichelis slid home the first against Hoffenheim in the 35th minute before Miroslav Klose wrapped up victory four minutes from time to give Bayern Munich their fifth straight league win.
Schalke 1-0 Nurnberg
Kevin Kuranyi's grabbed the match winner early in the second half as Schalke beat Nurnberg 1-0 at home and continue their strong run.
Hamburg 2-0 Freiburg
Hamburg kept pace with the leaders with a solid 2-0 victory at home over Freiburg. Marcell Jansen opened the scoring in the seventh minute and Mladen Petric made it 2-0 after 55 minutes.
German Bundesliga Top Six Standings
Team P W D L Fr Ag Pts Bayer Leverkusen 18 10-8-0 39 15 38 Schalke 18 11-4-3 27 13 37 Bayern Munich 18 10-6-2 36 15 36 Hamburg 18 9-7-2 36 19 34 Borussia Dortmund 18 9-6-3 26 19 33 Werder Bremen 18 7-7-4 32 17 28