Bayern Munich dropped points for the second straight game since becoming champions after drawing 2-2 with Stuttgart.
Tiago Tomas put the visitors ahead on eight minutes, but Bayern hit back through Serge Gnabry on 35 minutes before Thomas Muller completed the turnaround just before the break.
Sasa Kalajdzic managed to get Stuttgart back on level terms with his fifth league of the season 10 minutes after the break.
The champions also finished the game with 10 men after Kingsley Coman was given a straight red card in second-half stoppage time.
RB Leipzig reclaimed fourth spot with one game to go after thrashing Augsburg 4-0 on Sunday evening.
Andre Silva put the home side in front five minutes before the break.
France international Christopher Nkunku then bagged two goals to put Leipzig 3-0 up, before Emil Forsberg converted a penalty on 64 minutes to wrap up the win.
Leipzig will head into the final matchday in fourth spot, two points ahead of Freiburg and three ahead of Union Berlin.
Eintracht Frankfurt and Borussia Monchengladbach could not be separated at the Duetsche Bank Park after playing to a 1-1 draw on Sunday afternoon.
Alassane Plea put the visitors ahead after just four minutes with his ninth goal of the Bundesliga campaign.
Frankfurt got back on level terms after the hour mark, with Gonçalo Paciência firing home his third goal of the season.