Jamal Musiala's goal gave Bayern Munich a 1-0 win at St. Pauli, while 10-man Borussia Dortmund lost 3-1 to Mainz in the 10th round of the Bundesliga on Saturday.
St. Pauli tried to disrupt Bayern's build-up from the kick-off and could keep the German champions at bay. However, its chances were few and far between until Musiala broke the deadlock in the 22nd minute, hammering a 30-meter shot into the roof of the net.
Bayern dominated the rest of the first half, trying its luck with long-range shots as St. Pauli defended well.
St. Pauli came close on the half-hour mark when Karol Mets volleyed over from a central position.
Little changed after the break, with Bayern's dominance increasing only slightly as the host kept all its men behind the ball. Apart from a Harry Kane header, there was little in the way of goalmouth action.
Bayern created more clear-cut chances in the closing stages as St. Pauli couldn't keep up the pace. Leroy Sane tested St. Pauli goalkeeper Nikola Vasilj with two long-range efforts in quick succession in the 80th minute, before Eric Smith made a fine save from Musiala's last-ditch effort.
Bayern couldn't capitalize on its power play and had to settle for a narrow 1-0 victory.
The win extends Bayern's lead atop the standings to five points, while St. Pauli remains 15th.
"We did well defensively and that was certainly our strength today. Going forward, we didn't play as effectively as we have recently. Even after we went 1-0 up, St. Pauli stuck to its game plan. It was a difficult game for us," said Bayern coach Vincent Kompany.
Elsewhere, Mainz took advantage of Emre Can's early dismissal to secure a 3-1 win over Borussia Dortmund, who suffered its fourth defeat of the season. Bayer Leverkusen remains winless for the third straight game in the league as Koji Miyoshi's late strike held Bochum to a 1-1 draw. Werder Bremen beat newcomer Holstein Kiel 2-1, while Borussia Monchengladbach held Leipzig to a goalless draw.
On Friday, Union Berlin and Freiburg played out a goalless stalemate.