Omar Marmoush starred for the home team to end its run of four straight defeats across all competitions, and Bayern star Harry Kane failed to score for just the third time in the Bundesliga this season.
Bayern arguably paid the price for its unexpectedly long period between games as last weekend's match with Union Berlin was called off at short notice because of heavy snowfall in the Bavarian capital. Bayern hadn't played since November 29.
Union put the break to good use, however, ending its run of 15 games without a win across all competitions by beating Borussia Mönchengladbach 3-1.
Benedict Hollerbach and Mikkel Kaufmann scored their first Bundesliga goals to lead Union to victory in coach Nenad Bjelica's first home game in charge.
Freiburg enjoyed a 1-0 win at Wolfsburg, Werder Bremen defeated Augsburg 2-0, and Heidenheim came from behind to beat Darmstadt 3-2 in the duel between promoted teams.
Borussia Dortmund hosted Leipzig late.