Leverkusen also hammered lowly, ten-man Stuttgart, and Gladbach held Schalke.
Bayern Munich 1-2 Mainz
Mainz scored all three goals today, and went ten points clear of Bayern in the league standings. Sami Allagui opened the scoring early and Adam Szalai scored a brilliant winner after Bo Svensson's own goal. Click here to read full match report.
St Pauli 1-3 Borussia Dortmund
Dortmund kept pace with Mainz today, and will enter next week within striking distance of the leaders. Shinji Kagawa set up Kevin Grosskreutz for an early opener, but St Pauli leveled on 25 minutes as Rouwen Hennings slipped into the penalty area and finished well. However, the outstanding Dortmund would not be denied their three points; Kagawa netted the go-ahead goal on 50 minutes, and Grosskreutz completed his brace on the hour mark after Nuri Sahin hit the bar.
Stuttgart 1-4 Bayer Leverkusen
Stuttgart's misery continued as Leverkusen comfortably earned a 4-1 victory at the Mercedes-Benz Arena. Sami Hyypia nodded in an early opener and Arturo Vidal doubled the visitors' lead on 21 minutes. To make matters worse for Stuttgart, Mauro Camoranesi was sent off for a professional foul on Tranquillo Barnetta, leaving the hosts against the ropes. Zdravko Kuzmanovic pulled a goal back with a free kick early in the second half, but late goals from Hanno Balitsch and Sidney Sam rounded off a comfortable victory for the visitors.
Schalke 2-2 Borussia Moenchengladbach
Gladbach ended their losing streak, and Schalke lost a bit of momentum as the two sides drew 2-2 on Saturday afternoon. The hosts were dominant for long periods, but struggled to break a Gladbach side that has struggled defensively as of late. Filip Daems scored early for the visitors after Raul Bobadilla earned a penalty, and Michael Bradley put Gladbach two goals ahead at the half. Klaas-Jan Huntelaar scored in his third consecutive match to bring Schalke back into the game, and after Roel Brouwers was sent off for a bad foul, it appeared only a matter of time before Schalke leveled. Surely enough, Raul was well positioned to equalise on 87 minutes, but the hosts could not complete their comeback and had to settle for a draw.
Eintracht Frankfurt 2-0 Nuernberg
Frankfurt earned their second victory of the season with a not-so-comfortable victory over Nuernberg. Theofanis Gekas put the hosts ahead early, but the Bavarians battled back and were twice denied by the woodwork in the second half. They failed to equalise, and Chris sealed Frankfurt's victory with a late strike.
Werder Bremen 3-2 Hamburg
Werder Bremen edged Hamburg in tonight's northern derby. Bremen were up 2-0 early through Marko Marin and another strike from Hugo Almeida, but Hamburg levelled after the break with goals from Ruud van Nistelrooy and Jonathan Pitroipa. In the end, Werder were a touch sharper, and took three points after Almeida's late winner.
Click here to read full match report.