Dortmund were made to sweat until the last seconds to secure the final Champions League spot after losing 3-1 at Hoffenheim.
Schalke consolidated second spot and guaranteed their Champions League place for next season with a 2-1 triumph at Augsburg.
Hamburg and Freiburg boosted their survival hopes but Cologne were relegated from the Bundesliga despite a dramatic late comeback.
Marcel Risse's late free-kick earned bottom club Cologne a point from a 2-2 home draw with Schalke to keep slim survival hopes alive.
Bundesliga champions Bayern Munich eased past Borussia Monchengladbach after recovering from falling behind to beat their opponents 5-1.
Schalke prevented Bayern Munich from sealing the Bundesliga title despite the league leaders thrashing Borussia Dortmund 6-0.
©2018 Sky UK