# 2019–20 Bundesliga

The 2019–20 Bundesliga was the 57th season of the Bundesliga, Germany's premier football competition. It began on 16 August 2019 and concluded on 27 June 2020. Bayern Munich were the defending champions, and won their record-extending 8th consecutive title and 30th title overall (29th in the Bundesliga era) on 16 June with two games to spare. With 100 goals scored in 34 matches, Bayern became the second side to reach this milestone in a Bundesliga season, after the record 101 goals the club previously managed to score in 1971–72.
The number of substitutes allowed on the bench was increased from seven to nine for the 2019–20 season.
On 13 March 2020, the DFL suspended the Bundesliga and 2. Bundesliga due to the COVID-19 pandemic. After consultation with the German government, the league resumed behind closed doors on 16 May 2020. Due to the postponement, the final matchday on 27 June was the second latest date any Bundesliga season has concluded, after the 1971–72 season (which concluded a day later).

## Effects of the COVID-19 pandemic

Due to the COVID-19 pandemic in Germany, on 8 March 2020 the Federal Minister of Health, Jens Spahn recommended cancelling events with more than 1,000 people. The following day, the DFL announced that the Bundesliga season would be completed to ensure planning for the following season, and that any postponements would be to matchdays en bloc. On 10 March, it was announced that the catch-up match between Borussia Mönchengladbach and 1. FC Köln on 11 March would be played behind closed doors, the first such occurrence in league history. All fixtures on matchday 26 (13–16 March) were planned to be played without spectators due to local restrictions on public gatherings, but the round was subsequently postponed on 13 March due to safety issues. On 16 March, the DFL General Assembly suspended the league until at least 2 April, and scheduled another meeting for the last week of March to discuss how the competition should proceed. The DFL General Assembly, at their meeting on 31 March, chose to extend the suspension until at least 30 April per the recommendation of the Executive Committee. At the meeting, the DFL established a sports medicine and special match operations task force responsible for examining a safe method to resume league play.
On 13 March 2020, Luca Kilian of SC Paderborn was the first Bundesliga player to test positive for COVID-19. By 21 March 2020, several clubs, including Eintracht Frankfurt and Hertha BSC, were under quarantine after multiple players and staff had tested positive, and training was made impossible for most others by curfews or the closure of facilities. The DFL looked into possible scenarios to finish the season regularly. However, several virologists raised doubts, stating that any professional football matches in Germany, including those behind closed doors, were unrealistic for at least the next 12 months. In his report for the 31 March DFL meeting, virologist Alexander Kekulé recommended to write off the current season. On 4 April 2020, he clarified that matches behind closed doors were possible in principle, but would require extensive measures, including a total of about 20,000 tests for COVID-19 for the players and staff (testing every player before the start of each game), and an extended quarantine for everyone involved. Kekulé was doubtful though that those measures could be justified at a time when tests for the general population were in short supply.
On 3 April 2020, the DFL reported that the financial situation of most teams was more serious than thought. Of the 36 professional football clubs in the Bundesliga and 2. Bundesliga, 13 would have to declare bankruptcy by May or June unless league operations resumed by then, including four teams from the Bundesliga. Twelve of those clubs had already used the outstanding license fees (which are dependent on the season to be continued) to pay their March debts to creditors. At their 31 March meeting, the DFL had decided that clubs that enter insolvency proceedings this season would not suffer the usual deduction of points, and clubs that enter proceedings next season only lose three instead of the usual nine points.
By 23 April 2020, the DFL had targeted 9 May as a possible resumption date for the Bundesliga. However, this goal suffered a setback when 1. FC Köln announced on 1 May that three people at the club tested positive, without showing any symptoms. This was done as part of a wave of 1,724 tests carried out involving personnel of the 36 Bundesliga and 2. Bundesliga clubs, in coordination with the Federal Ministry of Labour and Social Affairs, which resulted in seven further positive results in addition to those of Köln. After consultation with the German government, chancellor Angela Merkel and the leaders of the states of Germany approved the resumption of the leagues for the second half of May, with matches behind closed doors. The following day, the DFL confirmed that the Bundesliga would resume on 16 May, a Saturday, with matchday 26. The final matchday of the season (round 34), originally scheduled for 16 May, took place on 27 June, making it the second latest date any Bundesliga season has concluded. Only the 1971–72 season finished later (due to UEFA Euro 1972), concluding on 28 June.
The relegation play-offs between Werder Bremen, the 16th-placed team of the Bundesliga, and the 3rd-placed team of the 2. Bundesliga take place as planned. Per the competition regulations, clubs in the Bundesliga and 2. Bundesliga were required to compete in all matches following the restart, even if some players test positive, provided the team has enough healthy players available. On 14 May, after a meeting of all clubs, five substitutions were permitted, which has been temporarily allowed by IFAB following a proposal by FIFA to lessen the impact of fixture congestion. The broadcaster Sky Sport announced that for the first two weeks after the restart, the Bundesliga and 2. Bundesliga simulcast ("conference") would be shown on free-to-air television in Germany, in order to prevent gatherings of people without pay TV subscriptions.
Bundesliga schedule changes :
| Round | Original dates | Revised dates |
| 26 | 13–16 March | 16–18 May |
| 27 | 20–22 March | 22–24 May |
| 28 | 3–5 April | 26–27 May (midweek) |
| 29 | 11–13 April | 29 May – 1 June |
| 24 (Bremen v Frankfurt catch-up) | 24 (Bremen v Frankfurt catch-up) | 3 June |
| 30 | 17–20 April | 5–7 June |
| 31 | 24–27 April | 12–14 June |
| 32 | 2–4 May | 16–17 June (midweek) |
| 33 | 9 May | 20 June |
| 34 | 16 May | 27 June |
| Relegation play-offs |||
| 1st leg | 20/21 May | 2 July |
| 2nd leg | 25/27 May | 6 July |

## Teams

A total of 18 teams participated in the 2019–20 edition of the Bundesliga.

### Team changes

| Promoted from 2018–19 2. Bundesliga | Relegated from 2018–19 Bundesliga |
| 1. FC Köln SC Paderborn Union Berlin | VfB Stuttgart Hannover 96 1. FC Nürnberg |
Following a victory against VfB Stuttgart on away goals in the relegation/promotion play-offs, Union Berlin were promoted to the Bundesliga for the first time in their history, becoming the 56th club to feature in the Bundesliga, and the first from the former East Berlin.

### Stadiums and locations

| Team | Location | Stadium | Capacity |
| FC Augsburg | Augsburg | WWK Arena | 30,660 |
| Hertha BSC | Berlin | Olympiastadion | 74,649 |
| Union Berlin | Berlin | Stadion An der Alten Försterei | 22,012 |
| Werder Bremen | Bremen | Wohninvest Weserstadion | 42,100 |
| Borussia Dortmund | Dortmund | Signal Iduna Park | 81,365 |
| Fortuna Düsseldorf | Düsseldorf | Merkur Spiel-Arena | 54,600 |
| Eintracht Frankfurt | Frankfurt | Commerzbank-Arena | 51,500 |
| SC Freiburg | Freiburg im Breisgau | Schwarzwald-Stadion | 24,000 |
| 1899 Hoffenheim | Sinsheim | PreZero Arena | 30,150 |
| 1. FC Köln | Cologne | RheinEnergieStadion | 49,698 |
| RB Leipzig | Leipzig | Red Bull Arena | 42,558 |
| Bayer Leverkusen | Leverkusen | BayArena | 30,210 |
| Mainz 05 | Mainz | Opel Arena | 34,000 |
| Borussia Mönchengladbach | Mönchengladbach | Borussia-Park | 59,724 |
| Bayern Munich | Munich | Allianz Arena | 75,000 |
| SC Paderborn | Paderborn | Benteler-Arena | 15,000 |
| Schalke 04 | Gelsenkirchen | Veltins-Arena | 62,271 |
| VfL Wolfsburg | Wolfsburg | Volkswagen Arena | 30,000 |

### Personnel and kits

| Team | Manager | Captain | Kit manufacturer | Shirt sponsor | Shirt sponsor |
| Team | Manager | Captain | Kit manufacturer | Front | Sleeve |
| FC Augsburg | Heiko Herrlich | Daniel Baier | Nike | WWK | Siegmund |
| Hertha BSC | Bruno Labbadia | Vedad Ibišević | Nike | TEDi | Hyundai Motor Company |
| Union Berlin | Urs Fischer | Christopher Trimmel | Macron | Aroundtown | ONE Versicherung AG |
| Werder Bremen | Florian Kohfeldt | Niklas Moisander | Umbro | Wiesenhof | Tou Tou |
| Borussia Dortmund | Lucien Favre | Marco Reus | Puma | Evonik | Opel |
| Fortuna Düsseldorf | Uwe Rösler | Oliver Fink | Uhlsport | Henkel | Toyo Tires |
| Eintracht Frankfurt | Adi Hütter | David Abraham | Nike | Indeed.com | Deutsche Börse Group |
| SC Freiburg | Christian Streich | Mike Frantz | Hummel | Schwarzwaldmilch | Badenova |
| 1899 Hoffenheim | Matthias Kaltenbach [de] / Marcel Rapp / Kai Herdling | Benjamin Hübner | Joma | SAP | SNP |
| 1. FC Köln | Markus Gisdol | Jonas Hector | Uhlsport | REWE | DEVK |
| RB Leipzig | Julian Nagelsmann | Willi Orban | Nike | Red Bull | CG Immobilien |
| Bayer Leverkusen | Peter Bosz | Lars Bender | Jako | Barmenia Versicherungen | Kieser Training |
| Mainz 05 | Achim Beierlorzer | Danny Latza | Lotto | Kömmerling | QQ288 |
| Borussia Mönchengladbach | Marco Rose | Lars Stindl | Puma | Postbank | H-Hotels |
| Bayern Munich | Hansi Flick | Manuel Neuer | Adidas | Deutsche Telekom | Qatar Airways |
| SC Paderborn | Steffen Baumgart | Christian Strohdiek | Saller | Sunmaker | Effect Energy Drink |
| Schalke 04 | David Wagner | Omar Mascarell | Umbro | Gazprom | DHL |
| VfL Wolfsburg | Oliver Glasner | Josuha Guilavogui | Nike | Volkswagen | Linglong Tire |

### Managerial changes

| Team | Outgoing | Manner | Exit date | Exit date | Position in table | Incoming | Incoming date | Incoming date | Ref. |
| Team | Outgoing | Manner | Announced on | Departed on | Position in table | Incoming | Announced on | Arrived on | Ref. |
| 1899 Hoffenheim | Julian Nagelsmann | Signed for RB Leipzig | 21 June 2018 | 30 June 2019 | Pre-season | Alfred Schreuder | 19 March 2019 | 1 July 2019 | |
| RB Leipzig | Ralf Rangnick | Appointed as sporting director | 9 July 2018 | 30 June 2019 | Pre-season | Julian Nagelsmann | 21 June 2018 | 1 July 2019 | |
| VfL Wolfsburg | Bruno Labbadia | End of contract | 12 March 2019 | 30 June 2019 | Pre-season | Oliver Glasner | 23 April 2019 | 1 July 2019 | |
| Schalke 04 | Huub Stevens | End of caretaker spell | 14 March 2019 | 30 June 2019 | Pre-season | David Wagner | 9 May 2019 | 1 July 2019 | |
| Borussia Mönchengladbach | Dieter Hecking | Sacked | 2 April 2019 | 30 June 2019 | Pre-season | Marco Rose | 10 April 2019 | 1 July 2019 | |
| Hertha BSC | Pál Dárdai | Mutual consent | 16 April 2019 | 30 June 2019 | Pre-season | Ante Čović | 12 May 2019 | 1 July 2019 | |
| 1. FC Köln | André Pawlak / Manfred Schmid (interim) | End of caretaker spell | 27 April 2019 | 30 June 2019 | Pre-season | Achim Beierlorzer | 13 May 2019 | 1 July 2019 | |
| Bayern Munich | Niko Kovač | Mutual consent | 3 November 2019 | 3 November 2019 | 4th | Hansi Flick | 3 November 2019 | 3 November 2019 | |
| 1. FC Köln | Achim Beierlorzer | Sacked | 9 November 2019 | 9 November 2019 | 17th | Markus Gisdol | 18 November 2019 | 18 November 2019 | |
| Mainz 05 | Sandro Schwarz | Mutual consent | 10 November 2019 | 10 November 2019 | 16th | Achim Beierlorzer | 18 November 2019 | 18 November 2019 | |
| Hertha BSC | Ante Čović | Mutual consent | 27 November 2019 | 27 November 2019 | 15th | Jürgen Klinsmann | 27 November 2019 | 27 November 2019 | |
| Fortuna Düsseldorf | Friedhelm Funkel | Sacked | 29 January 2020 | 29 January 2020 | 18th | Uwe Rösler | 29 January 2020 | 29 January 2020 | |
| Hertha BSC | Jürgen Klinsmann | Resigned | 11 February 2020 | 11 February 2020 | 14th | Alexander Nouri (interim) | 11 February 2020 | 11 February 2020 | |
| FC Augsburg | Martin Schmidt | Sacked | 9 March 2020 | 9 March 2020 | 14th | Heiko Herrlich | 10 March 2020 | 10 March 2020 | |
| Hertha BSC | Alexander Nouri (interim) | End of caretaker spell | 9 April 2020 | 9 April 2020 | 14th | Bruno Labbadia | 9 April 2020 | 13 April 2020 | |
| 1899 Hoffenheim | Alfred Schreuder | Mutual consent | 9 June 2020 | 9 June 2020 | 7th | Matthias Kaltenbach [de] / Marcel Rapp / Kai Herdling (interim) | 9 June 2020 | 9 June 2020 | |

## League table

| Pos | Teamvte | Pld | W | D | L | GF | GA | GD | Pts | Qualification or relegation |
| 1 | Bayern Munich (C) | 34 | 26 | 4 | 4 | 100 | 32 | +68 | 82 | Qualification for the Champions League group stage |
| 2 | Borussia Dortmund | 34 | 21 | 6 | 7 | 84 | 41 | +43 | 69 | Qualification for the Champions League group stage |
| 3 | RB Leipzig | 34 | 18 | 12 | 4 | 81 | 37 | +44 | 66 | Qualification for the Champions League group stage |
| 4 | Borussia Mönchengladbach | 34 | 20 | 5 | 9 | 66 | 40 | +26 | 65 | Qualification for the Champions League group stage |
| 5 | Bayer Leverkusen | 34 | 19 | 6 | 9 | 61 | 44 | +17 | 63 | Qualification for the Europa League group stage |
| 6 | 1899 Hoffenheim | 34 | 15 | 7 | 12 | 53 | 53 | 0 | 52 | Qualification for the Europa League group stage |
| 7 | VfL Wolfsburg | 34 | 13 | 10 | 11 | 48 | 46 | +2 | 49 | Qualification for the Europa League second qualifying round |
| 8 | SC Freiburg | 34 | 13 | 9 | 12 | 48 | 47 | +1 | 48 | |
| 9 | Eintracht Frankfurt | 34 | 13 | 6 | 15 | 59 | 60 | −1 | 45 | |
| 10 | Hertha BSC | 34 | 11 | 8 | 15 | 48 | 59 | −11 | 41 | |
| 11 | Union Berlin | 34 | 12 | 5 | 17 | 41 | 58 | −17 | 41 | |
| 12 | Schalke 04 | 34 | 9 | 12 | 13 | 38 | 58 | −20 | 39 | |
| 13 | Mainz 05 | 34 | 11 | 4 | 19 | 44 | 65 | −21 | 37 | |
| 14 | 1. FC Köln | 34 | 10 | 6 | 18 | 51 | 69 | −18 | 36 | |
| 15 | FC Augsburg | 34 | 9 | 9 | 16 | 45 | 63 | −18 | 36 | |
| 16 | Werder Bremen (O) | 34 | 8 | 7 | 19 | 42 | 69 | −27 | 31 | Qualification for the relegation play-offs |
| 17 | Fortuna Düsseldorf (R) | 34 | 6 | 12 | 16 | 36 | 67 | −31 | 30 | Relegation to 2. Bundesliga |
| 18 | SC Paderborn (R) | 34 | 4 | 8 | 22 | 37 | 74 | −37 | 20 | Relegation to 2. Bundesliga |
* 1 2 Since the winners of the 2019–20 DFB-Pokal, Bayern Munich, qualified for the Champions League based on league position, the Europa League group stage spot was passed to the sixth-placed team, and the Europa League second qualifying round spot was passed to the seventh-placed team.

## Results

| Home \ Away | AUG | BSC | UNB | BRE | DOR | DÜS | FRA | FRE | HOF | KÖL | LEI | LEV | MAI | MÖN | MUN | PAD | SCH | WOL |
| FC Augsburg | — | 4–0 | 1–1 | 2–1 | 3–5 | 3–0 | 2–1 | 1–1 | 1–3 | 1–1 | 1–2 | 0–3 | 2–1 | 2–3 | 2–2 | 0–0 | 2–3 | 1–2 |
| Hertha BSC | 2–0 | — | 4–0 | 2–2 | 1–2 | 3–1 | 1–4 | 1–0 | 2–3 | 0–5 | 2–4 | 2–0 | 1–3 | 0–0 | 0–4 | 2–1 | 0–0 | 0–3 |
| Union Berlin | 2–0 | 1–0 | — | 1–2 | 3–1 | 3–0 | 1–2 | 2–0 | 0–2 | 2–0 | 0–4 | 2–3 | 1–1 | 2–0 | 0–2 | 1–0 | 1–1 | 2–2 |
| Werder Bremen | 3–2 | 1–1 | 0–2 | — | 0–2 | 1–3 | 0–3 | 2–2 | 0–3 | 6–1 | 0–3 | 1–4 | 0–5 | 0–0 | 0–1 | 0–1 | 1–2 | 0–1 |
| Borussia Dortmund | 5–1 | 1–0 | 5–0 | 2–2 | — | 5–0 | 4–0 | 1–0 | 0–4 | 5–1 | 3–3 | 4–0 | 0–2 | 1–0 | 0–1 | 3–3 | 4–0 | 3–0 |
| Fortuna Düsseldorf | 1–1 | 3–3 | 2–1 | 0–1 | 0–1 | — | 1–1 | 1–2 | 2–2 | 2–0 | 0–3 | 1–3 | 1–0 | 1–4 | 0–4 | 0–0 | 2–1 | 1–1 |
| Eintracht Frankfurt | 5–0 | 2–2 | 1–2 | 2–2 | 2–2 | 2–1 | — | 3–3 | 1–0 | 2–4 | 2–0 | 3–0 | 0–2 | 1–3 | 5–1 | 3–2 | 2–1 | 0–2 |
| SC Freiburg | 1–1 | 2–1 | 3–1 | 0–1 | 2–2 | 0–2 | 1–0 | — | 1–0 | 1–2 | 2–1 | 0–1 | 3–0 | 1–0 | 1–3 | 0–2 | 4–0 | 1–0 |
| 1899 Hoffenheim | 2–4 | 0–3 | 4–0 | 3–2 | 2–1 | 1–1 | 1–2 | 0–3 | — | 3–1 | 0–2 | 2–1 | 1–5 | 0–3 | 0–6 | 3–0 | 2–0 | 2–3 |
| 1. FC Köln | 1–1 | 0–4 | 1–2 | 1–0 | 1–3 | 2–2 | 1–1 | 4–0 | 1–2 | — | 2–4 | 2–0 | 2–2 | 0–1 | 1–4 | 3–0 | 3–0 | 3–1 |
| RB Leipzig | 3–1 | 2–2 | 3–1 | 3–0 | 0–2 | 2–2 | 2–1 | 1–1 | 3–1 | 4–1 | — | 1–1 | 8–0 | 2–2 | 1–1 | 1–1 | 1–3 | 1–1 |
| Bayer Leverkusen | 2–0 | 0–1 | 2–0 | 2–2 | 4–3 | 3–0 | 4–0 | 1–1 | 0–0 | 3–1 | 1–1 | — | 1–0 | 1–2 | 2–4 | 3–2 | 2–1 | 1–4 |
| Mainz 05 | 0–1 | 2–1 | 2–3 | 3–1 | 0–4 | 1–1 | 2–1 | 1–2 | 0–1 | 3–1 | 0–5 | 0–1 | — | 1–3 | 1–3 | 2–0 | 0–0 | 0–1 |
| Borussia Mönchengladbach | 5–1 | 2–1 | 4–1 | 3–1 | 1–2 | 2–1 | 4–2 | 4–2 | 1–1 | 2–1 | 1–3 | 1–3 | 3–1 | — | 2–1 | 2–0 | 0–0 | 3–0 |
| Bayern Munich | 2–0 | 2–2 | 2–1 | 6–1 | 4–0 | 5–0 | 5–2 | 3–1 | 1–2 | 4–0 | 0–0 | 1–2 | 6–1 | 2–1 | — | 3–2 | 5–0 | 2–0 |
| SC Paderborn | 0–1 | 1–2 | 1–1 | 1–5 | 1–6 | 2–0 | 2–1 | 1–3 | 1–1 | 1–2 | 2–3 | 1–4 | 1–2 | 1–3 | 2–3 | — | 1–5 | 2–4 |
| Schalke 04 | 0–3 | 3–0 | 2–1 | 0–1 | 0–0 | 3–3 | 1–0 | 2–2 | 1–1 | 1–1 | 0–5 | 1–1 | 2–1 | 2–0 | 0–3 | 1–1 | — | 1–4 |
| VfL Wolfsburg | 0–0 | 1–2 | 1–0 | 2–3 | 0–2 | 1–1 | 1–2 | 2–2 | 1–1 | 2–1 | 0–0 | 0–2 | 4–0 | 2–1 | 0–4 | 1–1 | 1–1 | — |

## Relegation play-offs

All times are CEST (UTC+2).

### Overview

| Team 1 | Agg.Tooltip Aggregate score | Team 2 | 1st leg | 2nd leg |
| Werder Bremen (B) | 2–2 (a) | 1. FC Heidenheim (2B) | 0–0 | 2–2 |

### Matches

2–2 on aggregate. Werder Bremen won on away goals, and therefore both clubs remained in their respective leagues.

## Statistics
### Top scorers

| Rank | Player | Club | Goals |
| 1 | Robert Lewandowski | Bayern Munich | 34 |
| 2 | Timo Werner | RB Leipzig | 28 |
| 3 | Jadon Sancho | Borussia Dortmund | 17 |
| 4 | Wout Weghorst | VfL Wolfsburg | 16 |
| 5 | Rouwen Hennings | Fortuna Düsseldorf | 15 |
| 6 | Jhon Córdoba | 1. FC Köln | 13 |
| 6 | Erling Haaland | Borussia Dortmund | 13 |
| 6 | Florian Niederlechner | FC Augsburg | 13 |
| 6 | Robin Quaison | Mainz 05 | 13 |
| 10 | Sebastian Andersson | Union Berlin | 12 |
| 10 | Serge Gnabry | Bayern Munich | 12 |
| 10 | Kai Havertz | Bayer Leverkusen | 12 |
| 10 | Andrej Kramarić | 1899 Hoffenheim | 12 |
| 10 | André Silva | Eintracht Frankfurt | 12 |

### Hat-tricks

| Player | Club | Against | Result | Date |
| Robert Lewandowski | Bayern Munich | Schalke 04 | 3–0 (A) | 24 August 2019 |
| Timo Werner | RB Leipzig | Borussia Mönchengladbach | 3–1 (A) | 30 August 2019 |
| Timo Werner | RB Leipzig | Mainz 05 | 8–0 (H) | 2 November 2019 |
| Rouwen Hennings | Fortuna Düsseldorf | Schalke 04 | 3–3 (A) | 9 November 2019 |
| Philippe Coutinho | Bayern Munich | Werder Bremen | 6–1 (H) | 14 December 2019 |
| Robin Quaison | Mainz 05 | Werder Bremen | 5–0 (A) | 17 December 2019 |
| Erling Haaland | Borussia Dortmund | FC Augsburg | 5–3 (A) | 18 January 2020 |
| Robin Quaison | Mainz 05 | Hertha BSC | 3–1 (A) | 8 February 2020 |
| Wout Weghorst | VfL Wolfsburg | 1899 Hoffenheim | 3–2 (A) | 15 February 2020 |
| Timo Werner | RB Leipzig | Mainz 05 | 5–0 (A) | 24 May 2020 |
| Jadon Sancho | Borussia Dortmund | SC Paderborn | 6–1 (A) | 31 May 2020 |
| Andrej Kramarić$^4$ | 1899 Hoffenheim | Borussia Dortmund | 4–0 (A) | 27 June 2020 |
$^4$ Player scored four goals.

### Assist providers

| Rank | Player | Club | Assists |
| 1 | Thomas Müller | Bayern Munich | 21 |
| 2 | Jadon Sancho | Borussia Dortmund | 16 |
| 3 | Thorgan Hazard | Borussia Dortmund | 13 |
| 3 | Christopher Nkunku | RB Leipzig | 13 |
| 5 | Filip Kostić | Eintracht Frankfurt | 11 |
| 6 | Serge Gnabry | Bayern Munich | 10 |
| 6 | Alassane Pléa | Borussia Mönchengladbach | 10 |
| 6 | Achraf Hakimi | Borussia Dortmund | 10 |
| 9 | Maximilian Arnold | VfB Wolfsburg | 8 |
| 9 | Marcus Thuram | Borussia Mönchengladbach | 8 |
| 9 | Christian Günter | SC Freiburg | 8 |
| 9 | Vincenzo Grifo | SC Freiburg | 8 |
| 9 | Christopher Trimmel | Union Berlin | 8 |
| 9 | Timo Werner | RB Leipzig | 8 |
* $^4$ Player scored four goals.

### Clean sheets

| Rank | Player | Club | Clean sheets |
| 1 | Manuel Neuer | Bayern Munich | 15 |
| 2 | Roman Bürki | Borussia Dortmund | 12 |
| 3 | Péter Gulácsi | RB Leipzig | 10 |
| 3 | Lukáš Hrádecký | Bayer Leverkusen | 10 |
| 5 | Rune Jarstein | Hertha BSC | 9 |
| 6 | Rafał Gikiewicz | Union Berlin | 8 |
| 7 | Oliver Baumann | 1899 Hoffenheim | 7 |
| 7 | Yann Sommer | Borussia Mönchengladbach | 7 |
| 9 | Timo Horn | 1. FC Köln | 6 |
| 9 | Alexander Nübel | Schalke 04 | 6 |

## Awards
### Monthly awards

| Month | Player of the Month | Player of the Month | Rookie of the Month | Rookie of the Month | Goal of the Month | Goal of the Month | Ref. |
| Month | Player | Club | Player | Club | Player | Club | Ref. |
| August | Robert Lewandowski | Bayern Munich | Jonjoe Kenny | Schalke 04 | Robert Lewandowski | Bayern Munich | |
| September | Amine Harit | Schalke 04 | Marcus Thuram | Borussia Mönchengladbach | Javairô Dilrosun | Hertha BSC | |
| October | Serge Gnabry | Bayern Munich | Marcus Thuram | Borussia Mönchengladbach | Robin Quaison | Mainz 05 | |
| November | Timo Werner | RB Leipzig | Marcus Thuram | Borussia Mönchengladbach | Robert Skov | 1899 Hoffenheim | |
| December | Timo Werner | RB Leipzig | Ismail Jakobs | 1. FC Köln | Philippe Coutinho | Bayern Munich | |
| January | Erling Haaland | Borussia Dortmund | Erling Haaland | Borussia Dortmund | Florian Neuhaus | Borussia Mönchengladbach | |
| February | Jadon Sancho | Borussia Dortmund | Erling Haaland | Borussia Dortmund | Emre Can | Borussia Dortmund | |
| March | — | — | — | — | Thorgan Hazard | Borussia Dortmund | |
| May | Kai Havertz | Bayer Leverkusen | Alphonso Davies | Bayern Munich | Joshua Kimmich | Bayern Munich | |
| June | — | — | — | — | André Silva | Eintracht Frankfurt | |

### Annual awards

| Award | Winner | Club |
| Player of the Season | Robert Lewandowski | Bayern Munich |
| Rookie of the Season | Alphonso Davies | Bayern Munich |
| Goal of the Season | Emre Can | Borussia Dortmund |