Bayern travel to near neighbours Augsburg in Matchday 21's final game.
Bayer 04 came from behind to take the points in Darmstadt.
Henrikh Mkhitaryan struck as BVB continued their strong home form.
HSV survived a late Gladbach fightback to win 3-2.
The hosts came back from a goal down to secure victory vs Eintracht.
The in-form hosts' remarkable run continued with a fifth straight win.
Mainz won a third consecutive match with victory over Schalke.
Julian Draxler scored as the Wolves recorded a first win in 2016.
New Hoffenheim boss Julian Nagelsmann earned a point on his debut.
Find out who is leading the way.
© 2016 DFL Deutsche Fußball Liga GmbH