GK: Jiri Pavlenka
Despite being firmly in the bottom half of the table, Werder Bremen have the third best defensive record in the Bundesliga. With the reliable Jiri Pavlenka in goal, their problems lie at the other end of the pitch, where they often fail to create goalscoring opportunities.
Czech Republic international Pavlenka has kept eight clean sheets for Bremen, and has conceded just 39 goals in 33 games compared to the 42.93 expected goals against – the second-best differential in the entire league behind Bayern Munich's duo of Manuel Neuer and Sven Ulreich.
RB: Joshua Kimmich
Bayern Munich worried that it might be difficult to find someone to fill Philipp Lahm's shoes when the legendary full-back retired last summer, but in Joshua Kimmich, they have found a ready-made replacement.
As well as his goals in each leg of the Champions League semi-final with Real Madrid, the 23-year-old has been outstanding for Bayern. His 10 assists in the Bundesliga are the fourth most in the league, with only Philipp Max providing more from defence.
Naldo turned 35 in September, but is making a late push for inclusion in Tite's World Cup squad thanks to a tremendous campaign at the back for Schalke.
The Brazilian centre-back has equalled his career-best tally of seven goals in one season, and has proven to be a threat at both ends of the pitch as Domenico Tedesco's side defied expectations to finish second in the Bundesliga.
CB: Mats Hummels
Once again, Bayern eased to the Bundesliga title with more goals scored and less conceded than any other team in the league. Niklas Sule arrived to compete for a starting centre-back spot at the Allianz Arena, but was used in rotation with Jerome Boateng as a partner for Mats Hummels.
The former Borussia Dortmund defender is now one of Bayern's most important players, putting in consistently strong performances at the back which allow the full-backs to roam forward safe in the knowledge they are protected by Hummels.
LB: Philipp Max
Tipped as relegation candidates before the season started, Augsburg exceeded expectations thanks to their smart attacking play. Michael Gregoritsch netted 13 goals and Alfred Finnbogason 12 for last season's strugglers, who punished teams with well-worked set pieces.
Philipp Max was crucial to this set-piece potency, providing the deliveries for team-mates to score from, to break the Bundesliga assists record for a defender – a high watermark previously held by Philipp Lahm.
RM: Daniel Caligiuri
Daniel Caligiuri has often looked like a player with great potential, but never seemed to be able to realise it. Under Domenico Tedesco at Schalke, he has finally found his best form on a consistent basis, both in attack and defence.
The Italian-German has contributed the third-most tackles in the Bundesliga this season, as well as six goals and 10 assists. His most notable goal was against Borussia Dortmund as Schalke mounted an incredible comeback from 4-0 down to earn a point.
- (C)Getty Images
CAM: Thomas Muller
Thomas Muller, 'The Raumdeuter', continued to invade space in 2017-18, finding the gaps behind opponents to top the Bundesliga assists charts, providing 14 goals for his team-mates. Muller also chipped in with eight goals of his own to propel Bayern Munich to yet another league title.
His versatility has seen him used in a variety of positions in Jupp Heynckes' attack, operating as a second striker behind Robert Lewandowski, on the right wing in place of Arjen Robben or Kingsley Coman, or even as a central attacking midfielder.
CM: Kevin-Prince Boateng
Since settling down and starting a family, Kevin-Prince Boateng has lost his 'wild child' personality and also become a better footballer.
After bouncing around Europe (including a stint at Schalke) following his departure from Hertha Berlin in 2007, Boateng returned to Germany once more and looked comfortable starring for Niko Kovac's Eintracht Frankfurt.
The all-round midfielder scored six goals for Frankfurt and provided grit and determination through the middle for Kovac's hard-working side who challenged for a European place and booked a spot in the DFB-Pokal final against Bayern Munich.
CAM: James Rodriguez
Bayern's marquee summer signing took a little while to settle into life in Germany after arriving on an initial loan from Real Madrid, but flourished once Jupp Heynckes replaced Carlo Ancelotti as the Bavarians' head coach.
The Colombia international was one of the side's leading lights in attack, providing 11 assists to quickly become a fan favourite in red. Bayern have the option to sign James for €42 million, and are likely to do that before his loan expires in 2019.
- Getty Images
LM: Leon Bailey
When he wasn't making headlines for his international eligibility, Leon Bailey was putting in excellent attacking performances on the pitch. The 20-year-old's breakout season in the Bundesliga was the reason why he was so in demand - at club level also.
The Jamaican winger was immense in the first half of the season, and although his form dipped a little in the latter stages of a busy campaign, he contributed nine goals and seven assists to put Bayer Leverkusen in Champions League contention.
- Maja Hitij
ST: Robert Lewandowski
Robert Lewandowski is set to be the Bundesliga's top goalscorer for the third time in his career, having scored almost double the number of goals as his nearest competitor in the race for the Torjagerkanone.
Even with Sandro Wagner arriving at Bayern Munich in January, Lewandowski continued to dominate in attack, with 29 league goals in 29 games heading into the league's final day – where he can reach 30 goals for the third successive season.
Bundesliga Team of the SeasonAnd here's how they line up...