Borussia Dortmund's Julian Brandt scored twice in a 3-1 victory over relegated Greuther Fuerth on Saturday to seal second place in the Bundesliga with one match remaining.
Brandt put the visitors in front, scoring on the rebound after Fuerth keeper Andreas Linde had blocked a shot from Raphael Guerreiro.
The Germany international then struck again for a personal-best ninth time in the league in the 72nd, charging into the box to fire Dortmund back in front only two minutes after the hosts had equalised.
Dortmund made sure of the three points with substitute Felix Passlack's deflected effort in the 77th to move up to 66 points.
Bayern Munich are top on 75 points and have already secured their 10th straight league crown. They play VfB Stuttgart on Sunday. Bayer Leverkusen are third on 61.
Freiburg conceded three goals in a catastrophic first half to crash to a 4-1 home loss to Union Berlin, denting their Champions League hopes as Bayer Leverkusen secured third place thanks to a 4-2 comeback win at Hoffenheim.
Goals from Union's Grischa Proemel, Christopher Trimmel and Sheraldo Becker stunned the home crowd, who had been hoping to celebrate their team's first-ever qualification for the Champions League after an otherwise remarkable season.
Lucas Hoeler pulled a goal back in the 59th, but despite dominating for the last half hour Freiburg could not find any more goals. The visitors then struck again in the last minute through Andras Schaefer.
Leverkusen made sure of Champions League football next season the hard way, twice coming from a goal down to beat Hoffenheim 4-2 with two goals from forward Patrik Schick.
They are in third place on 61 points.
Freiburg are fourth on 55, with RB Leipzig, on 54, in action against Augsburg on Sunday, and Union also on 54 in sixth and on course for a Europa League spot in their best-ever season.