Bayern Munich 1-3 RB Leipzig
Bayern Munich's Bundesliga title chances were dented after a 3-1 defeat to RB Leipzig in their penultimate match of the season at the Allianz Arena.
Bayern made one change from their win over Schalke, as Leon Goretzka took the place of Leroy Sane, who dropped to the bench, joining Sadio Mane.
Thomas Muller should have opened the scoring on 18 minutes but was denied by goalkeeper Janis Blaswich in a one-on-one.
However, Serge Gnabry eventually broke the deadlock for Thomas Tuchel's charges seven minutes later with a thunderbolt on the edge of the box after a through ball by Muller.
Leipzig posed danger as the game opened up in the closing phase of the first stanza and eventually equalised on 67th minute after Konrad Laimer pounced on a rebound in the box with a looping strike just under the crossbar.
Christopher Nkunku put Marco Rose's men ahead 14 minutes before time from the penalty spot after he was brought down in the box by Benjamin Pavard.
Bayern shot themselves in the foot again after they conceded another penalty five minutes before time for a handball by Noussair Mazraoui in the box.
Dominik Szoboszlai stepped up and sealed the deal for the Red Bulls with a strike in the bottom corner.
Bayern could lose their top spot to Borussia Dortmund if they beat Augsburg on Sunday evening away from home, with one match remaining.
Leipzig, on the other hand, secured their spot in the UEFA Champions League, with a game to spare, for next season.
Hoffenheim 4-2 Union Berlin
Union Berlin missed the chance to all but secure a spot in the UEFA Champions League with a match to spare after a 4-2 loss to Hoffenheim at PreZero Arena.
Ihlas Bebou broke the deadlock for Hoffenheim midway through the first stanza and Andrej Kramaric doubled their lead from the penalty spot nine minutes before the break.
Danilho Doekhi reduced the deficit for Union on the stroke of half-time.
However, Kramaric restored a two-goal cushion for Hoffenheim in the last minute.
Aissa Laidouni gave Hoffenheim a scare after he got another goal back for the visitors in the last minute.
But Munas Dabbur finally settled the contest for Hoffenheim as he made it 4-2 deep in stoppages.
Schalke 2-2 Eintracht Frankfurt
Schalke remained in the relegation zone after they salvaged a draw against Eintracht Frankfurt in a four-goal thriller at Veltins Arena.
Simon Terodde gave Schalke the lead inside the first minute and Daichi Kamada levelled matters for Eintracht 20 minutes later.
Tuta gave the visitors the lead on the hour-mark but Sebastian Polter salvaged a point for Eintracht with the equaliser five minutes before time.
Werder Bremen 1-1 Koln
Werder Bremen officially survived relegation after salvaging a 1-1 draw against Koln at Weserstadion.
Steffen Tigges broke the deadlock for Koln nine minutes before the interval but Romano Schmid found the equaliser for Bremen with 17 minutes remaining.
Hertha Berlin 1-1 Bochum
Hertha Berlin were relegated with one match to spare after a 1-1 draw against Bochum at Olympiastadion.
Dodi Lukebakio had a goal on 19 minutes for Hertha ruled out by the Video Assistant Referee (VAR) due to a foul in the build-up.
Lucas Tousart finally broke the deadlock for the hosts just after the hour-mark but Keven Schlotterbeck snatched the equaliser for Bochum in stoppage time.
A point moved Bochum out of the relegation zone by a point, although they will drop back to the danger zone if Stuttgart win their penultimate game away to Mainz.
You must be SIGNED IN to read and post comments.