Bayern Munich won the Bundesliga with a last gasp goal on Saturday when Jamal Musiala sealed a 2-1 win in the 90th minute at Cologne as overnight leaders Borussia Dortmund were held 2-2 at home to Mainz. The England-raised Germany forward Musiala will long be remembered as sealing this 11th straight Bundesliga for Bayern, who agonisingly edged Dortmund on goal difference. Dortmund knew a win would guarantee a title, but were 2-0 down after just 25 minutes, with striker Sebastien Haller also having missed a penalty.Dortmund scored two second half goals to draw the game but the point was not enough, Bayern winning the title on goal difference. Bayern manager Thomas Tuchel told media after the win that celebrating was difficult, with the club announcing the sacking of CEO Oliver Kahn and sporting director Hasan Salihamidzic despite the title win.”Instead of celebrating, now we have the next topic” Tuchel said, revealing the decision was made regardless of the result. “I’ve known the decision since yesterday” the manager said, “I’m trying to process it now.”In terms of sport, this is the most bitter and difficult thing you can imagine” said Dortmund manager Edin Terzic, who appeared before the club’s yellow wall in tears as the fans chanted the Dortmund-born coach’s name.”You can see how hard and how tough this sport that we fell in love with can be,” Terzic said, adding “it hurts extremely – there will be no happy ending for us this year.”Dortmund won the unlikely support of Bayern captain Thomas Mueller, who took time out from celebrating his side’s 11th straight title – and his 12th Bundesliga championship – to express sympathy. “I’m not apologising for becoming champions and we’re happy about that, but when you think of the others, then I feel a bit sorry. Even if they don’t want or need to hear it. I’m not trying to present myself as big hearted or anything, but it’s tough.”Heading into the final matchday, with Dortmund two clear atop the table, Bayern knew only a win would give them hope of a title, while hoping for a Dortmund collapse.France forward Kingsley Coman struck after eight minutes to set down the gauntlet to Dortmund, playing one hour to the north. Despite a bright start, Dortmund soon found themselves behind 1-0 after 15 minutes, Andreas Hanche-Olsen tapping in from a corner.Dortmund were handed a lifeline when Raphael Guerreiro was brought down in the box, but Sebastien Haller failed to convert the penalty. Mainz doubled their lead shortly after, Karim Onisiwo heading in from close range as the visitors began tearing up the home fans’ script. The home side, who had scored 15 goals in their past three home games, grew nervous and lacked potency in front of goal, while Mainz grew bullish and had several chances on the counter.With time winding down, Guerreiro gave the home side hope, scoring with 20 minutes remaining. Word filtered around the ground that Cologne had equalised with ten minutes remaining, Dejan Ljubicic converting from the spot, but Musiala’s strike again took Bayern atop the table. Niklas Suele added another in the sixth minute of injury time, but Dortmund were unable to conjure the comeback which would have broken Bayern’s hold on the German title.One bright spot for the disappointed home side was that arch rivals Schalke were relegated, after a 4-2 loss at RB Leipzig. Schalke had fought back to equalise from two goals down, but Leipzig scored twice in the final ten minutes to secure Schalke’s fate.Elsewhere, Union Berlin secured Champions League football for the first time with a 1-0 home win over Werder Bremen. Union captain Rani Khedira scored a goal with nine minutes remaining, ensuring victory for the home side and keeping alive a remarkable fourth season in the top division.Also on track for a first ever Champions League berth but needing Union to slip up, Freiburg lost 2-1 away at Frankfurt. Leading 1-0 after a Vincenzo Grifo strike, Freiburg conceded two goals in the last 10 minutes and will instead play Europa League next season. Stuttgart’s 1-1 draw at Hoffenheim means they finish third last, ensuring a shot at staying in the second division through the relegation playoff.Bochum’s 3-0 win at Leverkusen also ensures they will play top division football for another season, taking them from second last to the safety of 14th. A ten-man Augsburg lost 2-0 at Borussia Moenchengladbach but will also stay up, having finished 15th. Relegated Hertha Berlin won 2-1 away at Wolfsburg, denying the hosts a chance at leapfrogging Leverkusen into Europe.Results Borussia Dortmund 2 (Guerreiro 69, Suele 90+4) Mainz 2 (Hanche-Olsen 15, Onisiwo 24); Cologne 1 (Ljubicic 81-pen) Bayern Munich 2 (Coman 8, Musiala 89); Bochum 3 (Forster 19, 86, Asano 34) Bayer Leverkusen 0; Union Berlin 1 (Khedira 81) Werder Bremen 0; Wolfsburg 1 (Kaminski 2) Hertha Berlin 2 (Maza 55, Richter 68); RB Leipzig 4 (Laimer 10, Nkunku 19, 90+4 Poulsen 82) Schalke 2 (Kaminski 28, Orban 49-og); Eintracht Frankfurt 2 (Muani 83, Ebimbe 90+1) Freiburg 1 (Grifo 45); Borussia Moenchengladbach 2 (Netz 4, Hofman 40) Augsburg 0; Stuttgart 1 (Tomas 80) Hoffenheim 1 (Bebou 75)