A Bundesliga de 2019–20 foi a 57ª edição da primeira divisão do futebol alemão. O Bayern de Munique era o atual campeão, e conseguiu o inédito octacampeonato em 16 de junho de 2020, ao vencer o fora de casa por 1–0.

Em 13 de março de 2020, a DFL suspendeu a Bundesliga devido ao Surto de COVID-19 na Alemanha. Após a autorização do governo alemão, a DFL oficializou o retorno da Bundesliga para o dia 16 de maio, sendo a primeira grande liga de futebol da Europa a voltar.

Efeitos do Surto de COVID-19 Em 8 de março de 2020, o Ministro Federal da Saúde, Jens Spahn, recomendou o cancelamento de eventos com mais de 1.000 pessoas. No dia seguinte, a DFL anunciou que a temporada da Bundesliga seria concluída para garantir o planejamento da temporada seguinte. No dia 10 de março, foi anunciado que a partida entre o e o , no dia 11 de março, seria disputado a portas fechadas, a primeira ocorrência desse tipo na história da liga. Devido a restrições locais nas reuniões públicas, todos os jogos da rodada 26 (13 a 16 de março) foram planejados para serem disputados sem espectadores. No entanto, a rodada foi adiada em 13 de março devido a problemas de segurança. Em 16 de março, a assembléia geral da DFL suspendeu a liga até pelo menos 2 de abril e agendou outra reunião para a última semana de março para discutir como a competição deve ocorrer.

Em 13 de março de 2020, Luca Kilian, do , foi o primeiro jogador da Bundesliga a dar positivo para o COVID-19.

Após a autorização do governo alemão, a DFL oficializou o retorno da Bundesliga, com portões fechados, para o dia 16 de maio. A data marca o reinício a partir da 26° rodada.

Regulamento Os 18 clubes se enfrentarão em jogos de ida e volta no sistema de pontos corridos. O clube que somar o maior número de pontos será declarado campeão. Além do campeão, o 2º, 3º e 4º colocados garantirão vagas na Liga dos Campeões da UEFA. O 5º colocado estará na fase de grupos da Liga Europa da UEFA, enquanto o 6º colocado disputará a fase preliminar da mesma competição.

Por outro lado, os últimos dois colocados serão rebaixados à 2. Bundesliga. O 16º colocado, por sua vez, disputará um play-off contra o 3º colocado da 2. Bundesliga para saber quem jogará a elite na temporada seguinte.

Nessa temporada, o número de substitutos permitidos no banco de reservas aumentou de sete para nove. Após o reinício, a DFL, com a autorização da IFAB, permitiu que as equipes façam até cinco substituições por partida pelo restante da temporada.

Critérios de desempate

Maior saldo de gols; Maior número de gols pró; Confronto direto.

Participantes Promovidos e rebaixados Pos.Rebaixados da Bundesliga16º (play-offs)17º18º <td valign="top"> Pos.Promovidos da 2. Bundesliga1º2º3º (play-offs)

Equipes por estado EstadoN.ºEquipes25px Renânia do Norte-Vestfália 7 , , , , , e 25px Baden-Württemberg 2 e 25px Baviera 2 e 25px Berlim 2 e 25px Baixa Saxônia 1 25px Bremen 1 25px Hesse 1 25px Renânia-Palatinado 1 25px Saxônia 1

Informações das equipes Equipe Cidade Treinador Capitão Estádio (mando) Capacidade Material Esportivo Augsburg Augsburgo Heiko Herrlich Daniel Baier WWK Arena 30.660 Nike Bayer Leverkusen Leverkusen Peter Bosz Lars Bender BayArena 30.210 Jako Bayern de Munique Munique Hans-Dieter Flick Manuel Neuer Allianz Arena 75.000 Adidas Borussia Dortmund Dortmund Lucien Favre Marco Reus Signal Iduna Park81.365 Puma Mönchengladbach Marco Rose Lars Stindl Borussia-Park59.724 Puma Eintracht Frankfurt Frankfurt am Main Adi Hütter David Abraham Commerzbank-Arena51.500 Nike Fortuna Düsseldorf Düsseldorf Uwe Rösler Oliver Fink Merkur Spiel-Arena54.600 Uhlsport Freiburg Friburgo em Brisgóvia Christian Streich Mike Frantz Schwarzwald-Stadion24.000 Hummel Hertha Berlin Berlim Bruno Labbadia Vedad Ibišević Olympiastadion 74.649 Nike Hoffenheim Sinsheim Marcel Rapp (interino) Kevin Vogt PreZero Arena 30.150 Joma Köln Colônia Markus Gisdol Jonas Hector RheinEnergieStadion 49.698 Uhlsport Mainz 05 Mainz Achim Beierlorzer Stefan Bell Opel Arena 34.000 Lotto Paderborn Paderborn Steffen Baumgart Christian Strohdiek Benteler-Arena 15.000 Saller RB Leipzig Leipzig Julian Nagelsmann Willi Orban Red Bull Arena 42.558 Nike Schalke 04 Gelsenkirchen David Wagner Alexander Nübel Veltins-Arena 62.271 Umbro Union Berlin Berlim Urs Fischer Christopher Trimmel An der Alten Försterei 22.012 Adidas Werder Bremen Bremen Florian Kohfeldt Niklas Moisander Weser-Stadion 42.100 Umbro Wolfsburg Wolfsburg Oliver Glasner Josuha Guilavogui Volkswagen Arena 30.000 Nike

Mudanças de treinadores ClubeAntecessorMotivoData da vagaSucessorData danomeação Julian Nagelsmann Contratado pelo RB Leipzig 21 de junho de 2018Pré-temporada Alfred Schreuder 19 de março de 2019 Ralf Rangnick Remanejado 9 de julho de 2018 Julian Nagelsmann 21 de junho de 2018 Bruno Labbadia Fim de contrato 12 de março de 2019 Oliver Glasner 23 de abril de 2019 Huub Stevens Fim de contrato 14 de março de 2019 David Wagner 9 de maio de 2019 Dieter Hecking Demitido 2 de abril de 2019 Marco Rose 10 de abril de 2019 Pál Dárdai Consenso mútuo 16 de abril de 2019 Ante Čović 12 de maio de 2019 André Pawlak Fim de contrato 27 de abril de 2019 Achim Beierlorzer 13 de maio de 2019 Niko Kovač Consenso mútuo 3 de novembro de 2019 4º Hans-Dieter Flick 3 de novembro de 2019 Achim Beierlorzer Demitido 9 de novembro de 2019 17º Markus Gisdol 18 de novembro de 2019 Sandro SchwarzConsenso mútuo 10 de novembro de 2019 16º Achim Beierlorzer 18 de novembro de 2019 Ante Čović 27 de novembro de 2019 15º Jürgen Klinsmann 27 de novembro de 2019 Friedhelm Funkel Demitido 29 de janeiro de 2020 18ª Uwe Rösler 29 de janeiro de 2020 Jürgen Klinsmann Resignado 11 de fevereiro de 2020 14ª Bruno Labbadia 9 de abril de 2020 Martin Schmidt Demitido 9 de março de 2020 14ª Heiko Herrlich 10 de março de 2020 Alfred Schreuder Consenso mútuo 9 de junho de 2020 7º Marcel Rapp (interino) 9 de junho de 2020

Classificação </noinclude><noinclude>

Confrontos {| align="center" cellspacing="0" cellpadding="3" style="background-color: #f9f9f9; text-align: center" class="wikitable" |-style="background:#F0F0F0;" !align="left"| !!AUG!!LEV!!BMU!!BVB!!BMG!!EIN!!FOR!!FRE!!HER!!HOF!!KÖL!!MAI!!PAD!!RBL!!SCH!!UNB!!WER!!WOL|- !Augsburg ! — | bgcolor=#FFDFDF|0–3 | bgcolor=#FFFFDD|2–2 | bgcolor=#FFDFDF|3–5 | bgcolor=#FFDFDF|2–3 | bgcolor=#DFE7FF|2–1 | bgcolor=#DFE7FF|3–0 | bgcolor=#FFFFDD|1–1 | bgcolor=#DFE7FF|4–0 | bgcolor=#FFDFDF|1–3 | bgcolor=#FFFFDD|1–1 | bgcolor=#DFE7FF|2–1 | bgcolor=#FFFFDD|0–0 | bgcolor=#FFDFDF|1–2 | bgcolor=#FFDFDF|2–3 | bgcolor=#FFFFDD|1–1 | bgcolor=#DFE7FF|2–1 | bgcolor=#FFDFDF|1–2 |- !Bayer Leverkusen | bgcolor=#DFE7FF|2–0 ! — | bgcolor=#FFDFDF|2–4 | bgcolor=#DFE7FF|4–3 | bgcolor=#FFDFDF|1–2 | bgcolor=#DFE7FF|4–0 | bgcolor=#DFE7FF|3–0 | bgcolor=#FFFFDD|1–1 | bgcolor=#FFDFDF|0–1 | bgcolor=#FFFFDD|0–0 | bgcolor=#DFE7FF|3–1 | bgcolor=#DFE7FF|1–0 | bgcolor=#DFE7FF|3–2 | bgcolor=#FFFFDD|1–1 | bgcolor=#DFE7FF|2–1 | bgcolor=#DFE7FF|2–0 | bgcolor=#FFFFDD|2–2 | bgcolor=#FFDFDF|1–4 |- !Bayern de Munique | bgcolor=#DFE7FF|2–0 | bgcolor=#FFDFDF|1–2 ! — | bgcolor=#DFE7FF|4–0| bgcolor=#DFE7FF|2–1 | bgcolor=#DFE7FF|5–2 | bgcolor=#DFE7FF|5–0 | bgcolor=#DFE7FF|3–1 | bgcolor=#FFFFDD|2–2 | bgcolor=#FFDFDF|1–2 | bgcolor=#DFE7FF|4–0 | bgcolor=#DFE7FF|6–1 | bgcolor=#DFE7FF|3–2 | bgcolor=#FFFFDD|0–0 | bgcolor=#DFE7FF|5–0 | bgcolor=#DFE7FF|2–1 | bgcolor=#DFE7FF|6–1 | bgcolor=#DFE7FF|2–0 |- !Borussia Dortmund | bgcolor=#DFE7FF|5–1 | bgcolor=#DFE7FF|4–0 | bgcolor=#FFDFDF|0–1'! — | bgcolor=#DFE7FF|1–0 | bgcolor=#DFE7FF|4–0 | bgcolor=#DFE7FF|5–0 | bgcolor=#DFE7FF|1–0 | bgcolor=#DFE7FF|1–0 | bgcolor=#FFDFDF|0–4 | bgcolor=#DFE7FF|5–1 | bgcolor=#FFDFDF|0–2 | bgcolor=#FFFFDD|3–3 | bgcolor=#FFFFDD|3–3 | bgcolor=#DFE7FF|4–0 | bgcolor=#DFE7FF|5–0 | bgcolor=#FFFFDD|2–2 | bgcolor=#DFE7FF|3–0 |- !Borussia Mönchengladbach | bgcolor=#DFE7FF|5–1 | bgcolor=#FFDFDF|1–3 | bgcolor=#DFE7FF|2–1 | bgcolor=#FFDFDF|1–2 ! — | bgcolor=#DFE7FF|4–2 | bgcolor=#DFE7FF|2–1 | bgcolor=#DFE7FF|4–2 | bgcolor=#DFE7FF|2–1 | bgcolor=#FFFFDD|1–1 | bgcolor=#DFE7FF|2–1 | bgcolor=#DFE7FF|3–1 | bgcolor=#DFE7FF|2–0 | bgcolor=#FFDFDF|1–3 | bgcolor=#FFFFDD|0–0 | bgcolor=#DFE7FF|4–1 | bgcolor=#DFE7FF|3–1 | bgcolor=#DFE7FF|3–0 |- !Eintracht Frankfurt | bgcolor=#DFE7FF|5–0 | bgcolor=#DFE7FF|3–0 | bgcolor=#DFE7FF|5–1 | bgcolor=#FFFFDD|2–2 | bgcolor=#FFDFDF|1–3 ! — | bgcolor=#DFE7FF|2–1 | bgcolor=#FFFFDD|3–3 | bgcolor=#FFFFDD|2–2 | bgcolor=#DFE7FF|1–0 | bgcolor=#FFDFDF|2–4 | bgcolor=#FFDFDF|0–2 | bgcolor=#DFE7FF|3–2 | bgcolor=#DFE7FF|2–0 | bgcolor=#DFE7FF|2–1 | bgcolor=#FFDFDF|1–2 | bgcolor=#FFFFDD|2–2 | bgcolor=#FFDFDF|0–2 |- !Fortuna Düsseldorf | bgcolor=#FFFFDD|1–1 | bgcolor=#FFDFDF|1–3 | bgcolor=#FFDFDF|0–4 | bgcolor=#FFDFDF|0–1 | bgcolor=#FFDFDF|1–4 | bgcolor=#FFFFDD|1–1 ! — | bgcolor=#FFDFDF|1–2 | bgcolor=#FFFFDD|3–3 | bgcolor=#FFFFDD|2–2 | bgcolor=#DFE7FF|2–0 | bgcolor=#DFE7FF|1–0 | bgcolor=#FFFFDD|0–0 | bgcolor=#FFDFDF|0–3 | bgcolor=#DFE7FF|2–1 | bgcolor=#DFE7FF|2–1 | bgcolor=#FFDFDF|0–1 | bgcolor=#FFFFDD|1–1 |- !Freiburg | bgcolor=#FFFFDD|1–1 | bgcolor=#FFDFDF|0–1 | bgcolor=#FFDFDF|1–3 | bgcolor=#FFFFDD|2–2 | bgcolor=#DFE7FF|1–0 | bgcolor=#DFE7FF|1–0 | bgcolor=#FFDFDF|0–2 ! — | bgcolor=#DFE7FF|2–1 | bgcolor=#DFE7FF|1–0 | bgcolor=#FFDFDF|1–2 | bgcolor=#DFE7FF|3–0 | bgcolor=#FFDFDF|0–2 | bgcolor=#DFE7FF|2–1 | bgcolor=#DFE7FF|4–0 | bgcolor=#DFE7FF|3–1 | bgcolor=#FFDFDF|0–1 | bgcolor=#DFE7FF|1–0 |- !Hertha Berlim | bgcolor=#DFE7FF|2–0 | bgcolor=#DFE7FF|2–0 | bgcolor=#FFDFDF|0–4 | bgcolor=#FFDFDF|1–2 | bgcolor=#FFFFDD|0–0 | bgcolor=#FFDFDF|1–4 | bgcolor=#DFE7FF|3–1 | bgcolor=#DFE7FF|1–0 ! — | bgcolor=#FFDFDF|2–3 | bgcolor=#FFDFDF|0–5 | bgcolor=#FFDFDF|1–3 | bgcolor=#DFE7FF|2–1 | bgcolor=#FFDFDF|2–4 | bgcolor=#FFFFDD|0–0 | bgcolor=#DFE7FF|4–0 | bgcolor=#FFFFDD|2–2 | bgcolor=#FFDFDF|0–3 |- !Hoffenheim | bgcolor=#FFDFDF|2–4 | bgcolor=#DFE7FF|2–1 | bgcolor=#FFDFDF|0–6 | bgcolor=#DFE7FF|2–1 | bgcolor=#FFDFDF|0–3 | bgcolor=#FFDFDF|1–2 | bgcolor=#FFFFDD|1–1 | bgcolor=#FFDFDF|0–3 | bgcolor=#FFDFDF|0–3 ! — | bgcolor=#DFE7FF|3–1 | bgcolor=#FFDFDF|1–5 | bgcolor=#DFE7FF|3–0 | bgcolor=#FFDFDF|0–2 | bgcolor=#DFE7FF|2–0 | bgcolor=#DFE7FF|4–0 | bgcolor=#DFE7FF|3–2 | bgcolor=#FFDFDF|2–3 |- !Köln | bgcolor=#FFFFDD|1–1 | bgcolor=#DFE7FF|2–0 | bgcolor=#FFDFDF|1–4 | bgcolor=#FFDFDF|1–3 | bgcolor=#FFDFDF|0–1 | bgcolor=#FFFFDD|1–1 | bgcolor=#FFFFDD|2–2 | bgcolor=#DFE7FF|4–0 | bgcolor=#FFDFDF|0–4 | bgcolor=#FFDFDF|1–2 ! — | bgcolor=#FFFFDD|2–2 | bgcolor=#DFE7FF|3–0 | bgcolor=#FFDFDF|2–4 | bgcolor=#DFE7FF|3–0 | bgcolor=#FFDFDF|1–2 | bgcolor=#DFE7FF|1–0 | bgcolor=#DFE7FF|3–1 |- !Mainz 05 | bgcolor=#FFDFDF|0–1 | bgcolor=#FFDFDF|0–1 | bgcolor=#FFDFDF|1–3 | bgcolor=#FFDFDF|0–4 | bgcolor=#FFDFDF|1–3 | bgcolor=#DFE7FF|2–1 | bgcolor=#FFFFDD|1–1 | bgcolor=#FFDFDF|1–2 | bgcolor=#DFE7FF|2–1 | bgcolor=#FFDFDF|0–1 | bgcolor=#DFE7FF|3–1 ! — | bgcolor=#DFE7FF|2–0 | bgcolor=#FFDFDF|0–5 | bgcolor=#FFFFDD|0–0 | bgcolor=#FFDFDF|2–3 | bgcolor=#DFE7FF|3–1 | bgcolor=#FFDFDF|0–1 |- !Paderborn | bgcolor=#FFDFDF|0–1 | bgcolor=#FFDFDF|1–4 | bgcolor=#FFDFDF|2–3 | bgcolor=#FFDFDF|1–6 | bgcolor=#FFDFDF|1–3 | bgcolor=#DFE7FF|2–1 | bgcolor=#DFE7FF|2–0 | bgcolor=#FFDFDF|1–3 | bgcolor=#FFDFDF|1–2 | bgcolor=#FFFFDD|1–1 | bgcolor=#FFDFDF|1–2 | bgcolor=#FFDFDF|1–2 ! — | bgcolor=#FFDFDF|2–3 | bgcolor=#FFDFDF|1–5 | bgcolor=#FFFFDD|1–1 | bgcolor=#FFDFDF|1–5 | bgcolor=#FFDFDF|2–4 |- !RB Leipzig | bgcolor=#DFE7FF|3–1 | bgcolor=#FFFFDD|1–1 | bgcolor=#FFFFDD|1–1 | bgcolor=#FFDFDF|0–2 | bgcolor=#FFFFDD|2–2 | bgcolor=#DFE7FF|2–1 | bgcolor=#FFFFDD|2–2 | bgcolor=#FFFFDD|1–1 | bgcolor=#FFFFDD|2–2 | bgcolor=#DFE7FF|3–1 | bgcolor=#DFE7FF|4–1 | bgcolor=#DFE7FF|8–0 | bgcolor=#FFFFDD|1–1 ! — | bgcolor=#FFDFDF|1–3 | bgcolor=#DFE7FF|3–1 | bgcolor=#DFE7FF|3–0 | bgcolor=#FFFFDD|1–1 |- !Schalke 04 | bgcolor=#FFDFDF|0–3 | bgcolor=#FFFFDD|1–1 | bgcolor=#FFDFDF|0–3 | bgcolor=#FFFFDD|0–0 | bgcolor=#DFE7FF|2–0 | bgcolor=#DFE7FF|1–0 | bgcolor=#FFFFDD|3–3 | bgcolor=#FFFFDD|2–2 | bgcolor=#DFE7FF|3–0