With seasons on the line, Matchday 27 was always going to feature some of the most tightly contested affairs of the campaign. No game was won by more than a one-goal margin across this weekend’s action, which just goes to show how tense all the matches were.

Here are three takeaways from Matchday 27.

The title race is over 

What was needed to be done was simple for RB Leipzig: beat Bayern Munich in order to keep their hopes of winning their first ever Bundesliga title alive. How they were to go about that was anything but, however.

Julian Nagelsmann’s men were bright and pressed the Rekordmeister with their usual high intensity early on, but they were unlocked after some high-quality play by Thomas Müller set up Leon Goretzka for the only goal of the game. 

Die Roten Bullen were haunted by their inability to convert chances when it mattered most, which has been a common theme of their season. Even though they made an impressive start to the second half, both Marcel Sabitzer and Dani Olmo failed to capitalise on goal-scoring opportunities. The game was contested by two teams of the highest calibre, so it should be of little surprise that it came down to the fine details, where Bayern succeeded and Leipzig struggled.

The gap at the top has now been extended to seven points, and barring a complete and utter collapse from Munich, it seems like a ninth straight Meisterschale will be heading to Bavaria. 

Eintracht Frankfurt take a huge step towards the Champions League 

When André Silva netted his 37th Bundesliga goal in just 50 games (his 21st of this campaign) late on at the Signal Iduna Park on Saturday, it felt significant. Not only did the header seal the deal on a victory which took Eintracht Frankfurt to a club record points tally for this point in the season, it put breathing space between themselves and their opponents in the race for the Champions League, a competition Die Adler haven’t played in since 1960. 

In a similar scenario to the title race, Borussia Dortmund went into this game knowing that they could hardly afford anything less than a win if they wanted any chance of salvaging this season. However, the Portugese striker broke the hearts of Die Schwarzgelben in what was a fairly even contest between the two sides. 

If Adi Hütter’s side are to finish in the top four ahead of Dortmund, it will hardly be undeserved. This was BVB’s tenth loss of the season, while Frankfurt have only lost three games themselves. Die Adler have proven to be a very capable side this campaign in a way that Edin Terzić and his team have not been able to. 

Die Schwarzgelben's recruitment had been poor in the summer, and injuries have not helped them this season. Dismissing Lucien Favre when they did has become an increasingly questionable decision, as the Swiss manager was forced out of Dortmund when they were only two points off of the Champions League spots, and they are now a very ominous seven points away. 

We're still no closer to knowing who will join Schalke in the 2. Bundesliga

With the title race and perhaps even the race for the Champions League seemingly already over, the most intriguing battle in the Bundesliga is now going on at the other end of the table. Just two points currently separate Hertha Berlin in 14th and Arminia Bielefeld in 17th, and neither of the four sides in this cluster were able to help themselves too much this past weekend, either. 

Mainz and Bielefeld played out a fiery 1-1 draw in the Kellerduell, whilst Hertha tied Union Berlin by the same score-line in their derby matchup and FC Köln narrowly lost 1-0 away to Wolfsburg.

A win for any of these teams would have been invaluable in the fight against the drop, but each side goes into another week knowing that their Bundesliga status remains in the balance. 

It’s Mainz who have the hardest run-in by far. After crucial games against Köln, Hertha and Werder Bremen, they face four of the current top five, so the next few weeks will be make-or-break for Die Nullfünfer.

Köln do have to play Bayer Leverkusen and Leipzig following the aforementioned contest versus Mainz, but then Die Geißböcke only have matches against bottom-half sides for the rest of the campaign.

Both Bielefeld and Hertha have the joy of avoiding any top-six side for the remainder of the season, so they'll mostly take on the teams around them in the standings. 

All things considered, it looks like this battle is going to go down to the wire.