A 2. Bundesliga de 2018–19 é a 45º edição da Segunda Divisão da Alemanha. O campeonato começou em 3 de agosto de 2018 e terminará em 19 de maio de 2019.

Sistema de competição Participam da 2. Bundesliga 18 clubes que, seguindo um calendário estabelecido por sorteio, se enfrentam entre si em duas partidas de ida e volta. O vencedor de cada partida conquista três pontos, enquanto o empate um ponto e a derrota, zero pontos.

Ao final da temporada, os dois primeiros colocados se classificarão à 1. Bundesliga, e o terceiro colocado disputará sua promoção com o 16º colocado da 1. Bundesliga. Os dois últimos serão rebaixados à 3. Liga e o 16º colocado disputará sua permanência com o terceiro colocado da 3. Liga.

Equipes Mudança de times PosPromovidos à 1. Bundesliga1º2º

</td><td valign=top>

PosRebaixados da 1. Budesliga17º18º

PosPromovidos da 3. Liga1ºMagdeburg2ºPaderborn

</td><td valign=top>

PosRebaixados à 3. Liga17ºEintracht Braunschweig18ºKaiserslautern

Clubes participantes Equipe Cidade Treinador Capitão Estádio Capacidade Arminia Bielefeld Bielefeld Uwe Neuhaus Julian Börner Schüco Arena 27.300 Bochum Bochum Robin Dutt Stefano Celozzi Ruhrstadion 29.299 Darmstadt Dimitrios Grammozis Fabian Holland Merck-Stadion am Böllenfalltor 17.000 Duisburg Duisburgo Torsten Lieberknecht Gerrit Nauber MSV-Arena 31.500 Dynamo Dresden Dresden Cristian Fiél Marco Hartmann DDV-Stadion 32.066 Erzgebirge Aue Aue Daniel Meyer Martin Männel Sparkassen-Erzgebirgsstadion 15.711 Greuther Fürth Fürth Stefan Leitl Marco Caligiuri Sportpark Ronhof Thomas Sommer 18.500 Hamburgo Hannes Wolf Aaron Hunt Volksparkstadion 57.000 Heidenheim Heidenheim Frank Schmidt Marc Schnatterer Voith-Arena 15.000 Kiel Tim Walter Dominik Schimidt Holstein-Stadion 11.386 Ingolstadt Tomas Oral Marvin Matip Audi-Sportpark 15.000 Jahn Regensburg Ratisbona Achim Beierlorzer Marco Grüttner Continental Arena 15.224 Colônia André Pawlak Jonas Hector RheinEnergieStadion 49.698 Magdeburg Magdeburgo Michael Oenning Nils Butzen MDCC-Arena 27.500 Paderborn Paderborn Steffen Baumgart Christian Strohdiek Benteler-Arena 15.000 Sandhausen Sandhausen Uwe Koschinat Denis Linsmayer BWT-Stadion am Hardtwald 15.414 St. Pauli Hamburgo Jos Luhukay Bernd Nehrig Millerntor-Stadion 29.546 Union Berlin Berlim Urs Fischer Christopher Trimmel Alte Försterei 22.012

Mudanças de treinadores ClubeAntecessorMotivoData da vagaSucessorData danomeação Stefan Ruthenbeck Fim do contrato 30 de junho de 2018Pré-temporada Markus Anfang 1 de julho de 2018 Holstein Kiel Markus Anfang Contratado pelo 30 de junho de 2018 Tim Walter 1 de julho de 2018 Union Berlin André Hofschneider Demitido 30 de junho de 2018 Urs Fischer 1 de julho de 2018 Erzgebirge Aue Hannes Drews Resignado 30 de junho de 2018 Daniel Meyer 1 de julho de 2018 Dynamo Dresden Uwe Neuhaus Demitido 22 de agosto de 2018 9º Maik Walpurgis 11 de setembro de 2018 Ingolstadt Stefan Leitl 22 de setembro de 2018 13º Alexander Nouri 24 de setembro de 2018 Duisburg Iliya Gruev 1 de outubro de 2018 18º Torsten Lieberknecht 1 de outubro de 2018 Sandhausen Kenan Kocak 8 de outubro de 2018 16º Uwe Koschinat 15 de outubro de 2018 Christian Titz 23 de outubro de 2018 5º Hannes Wolf 23 de outubro de 2018 Magdeburg Jens Härtel 12 de novembro de 2018 17º Michael Oenning 14 de novembro de 2018 Alexander Nouri 26 de novembro de 2018 18º Jens Keller 2 de dezembro de 2018 Arminia Bielefeld Jeff Saibene 10 de dezembro de 2018 14º Uwe Neuhaus 10 de dezembro de 2018 Greuther Fürth Damir Burić 4 de fevereiro de 2019 12º Stefan Leitl 5 de fevereiro de 2019 Dirk Schuster 18 de fevereiro de 2019 14º Dimitrios Grammozis 24 de fevereiro de 2019 Dynamo Dresden Maik Walpurgis 24 de fevereiro de 2019 14º Cristian Fiél 24 de fevereiro de 2019 Jens Keller 2 de abril de 2019 18º Tomas Oral 3 de abril de 2019 St. Pauli Markus Kauczinski 10 de abril de 2019 6º Jos Luhukay 10 de abril de 2019 Markus Anfang 27 de abril de 2019 1º André Pawlak 27 de abril de 2019

Classificação . EquipesClassificação ou rebaixamento1633419698447+37 Promoção à Bundesliga de 2019–202Paderborn573416997650+263Union Berlin5734141555433+21 Play-off da Promoção45634168104542+35Heidenheim5534151095545+106Holstein Kiel49341310116051+97Arminia Bielefeld49341310115250+28Jahn Regensburg4934121395554+19St. Pauli4934147134653–7104634137144553–811Bochum44341111124950–112Dynamo Dresden4234119144148–713Greuther Fürth42341012123756–1914Erzgebirge Aue4034117164347–415Sandhausen3834911144552–716353498174355–12 Play-off do Rebaixamento17Magdeburg3134613153553–18 Zona de rebaixamento à 3. Liga de 2019–2018Duisburg2834610183965–26

Confrontos {| align="center" cellspacing="0" cellpadding="3" style="background-color: #f9f9f9; text-align: center" class="wikitable" |-style="background:#F0F0F0;" !align="left"| !!ARB!!BOC!!DAR!!DUI!!DYD!!ERA!!GRF!!HSV!!HEI!!HOK!!ING!!JAR!!KÖL!!MAG!!PAD!!SAN!!STP!!UNB|- !Arminia Bielefeld ! — | bgcolor=#DFE7FF|3–1 | bgcolor=#DFE7FF|1–0 | bgcolor=#FFDFDF|0–1 | bgcolor=#DFE7FF|2–1 | bgcolor=#DFE7FF|2–1 | bgcolor=#FFDFDF|2–3 | bgcolor=#DFE7FF|2–0 | bgcolor=#FFDFDF|1–2 | bgcolor=#DFE7FF|1–0 | bgcolor=#FFDFDF|1–3 | bgcolor=#DFE7FF|5–3 | bgcolor=#FFDFDF|1–3 | bgcolor=#FFDFDF|1–3 | bgcolor=#DFE7FF|2–0 | bgcolor=#FFFFDD|1–1 | bgcolor=#FFDFDF|1–2 | bgcolor=#FFFFDD|1–1 |- !Bochum | bgcolor=#DFE7FF|1–0 ! — | bgcolor=#DFE7FF|1–0 | bgcolor=#DFE7FF|2–1 | bgcolor=#FFDFDF|0–1 | bgcolor=#DFE7FF|2–1 | bgcolor=#DFE7FF|3–2 | bgcolor=#FFFFDD|0–0 | bgcolor=#DFE7FF|1–0 | bgcolor=#FFDFDF|1–3 | bgcolor=#DFE7FF|6–0 | bgcolor=#FFFFDD|3–3 | bgcolor=#FFDFDF|0–2 | bgcolor=#DFE7FF|4–2 | bgcolor=#FFDFDF|1–2 | bgcolor=#DFE7FF|1–0 | bgcolor=#FFDFDF|1–3 | bgcolor=#FFFFDD|2–2 |- !Darmstadt 98 | bgcolor=#FFDFDF|1–2 | bgcolor=#FFFFDD|0–0 ! — | bgcolor=#DFE7FF|3–0 | bgcolor=#DFE7FF|2–0 | bgcolor=#DFE7FF|1–0 | bgcolor=#DFE7FF|2–0 | bgcolor=#FFDFDF|1–2 | bgcolor=#FFDFDF|1–2 | bgcolor=#DFE7FF|3–2 | bgcolor=#FFFFDD|1–1 | bgcolor=#FFFFDD|1–1 | bgcolor=#FFDFDF|0–3 | bgcolor=#DFE7FF|3–1 | bgcolor=#DFE7FF|1–0 | bgcolor=#FFFFDD|1–1 | bgcolor=#DFE7FF|2–1 | bgcolor=#DFE7FF|2–1 |- !Duisburg | bgcolor=#FFFFDD|2–2 | bgcolor=#FFDFDF|0–2 | bgcolor=#DFE7FF|3–2 ! — | bgcolor=#FFDFDF|1–3 | bgcolor=#FFDFDF|1–2 | bgcolor=#FFDFDF|0–1 | bgcolor=#FFDFDF|1–2 | bgcolor=#FFDFDF|3–4 | bgcolor=#FFDFDF|0–4 | bgcolor=#FFDFDF|2–4 | bgcolor=#FFDFDF|1–3 | bgcolor=#FFFFDD|4–4 | bgcolor=#DFE7FF|1–0 | bgcolor=#DFE7FF|2–0 | bgcolor=#FFFFDD|2–2 | bgcolor=#FFDFDF|0–1 | bgcolor=#FFDFDF|2–3 |- !Dynamo Dresden | bgcolor=#FFDFDF|3–4 | bgcolor=#FFFFDD|2–2 | bgcolor=#DFE7FF|4–1 | bgcolor=#DFE7FF|1–0 ! — | bgcolor=#FFFFDD|1–1 | bgcolor=#FFDFDF|0–1 | bgcolor=#FFDFDF|0–1 | bgcolor=#FFDFDF|1–3 | bgcolor=#FFDFDF|0–2 | bgcolor=#DFE7FF|2–0 | bgcolor=#FFFFDD|0–0 | bgcolor=#DFE7FF|3–0 | bgcolor=#FFFFDD|1–1 | bgcolor=#DFE7FF|3–1 | bgcolor=#DFE7FF|3–1 | bgcolor=#DFE7FF|2–1 | bgcolor=#FFFFDD|0–0 |- !Erzgebirge Aue | bgcolor=#DFE7FF|1–0 | bgcolor=#DFE7FF|3–2 | bgcolor=#FFFFDD|2–2 | bgcolor=#FFFFDD|0–0 | bgcolor=#FFDFDF|1–3 ! — | bgcolor=#FFFFDD|1–1 | bgcolor=#FFDFDF|1–3 | bgcolor=#FFDFDF|0–1 | bgcolor=#DFE7FF|2–1 | bgcolor=#FFDFDF|0–3 | bgcolor=#FFFFDD|1–1 | bgcolor=#FFDFDF|0–1 | bgcolor=#FFFFDD|0–0 | bgcolor=#DFE7FF|2–1 | bgcolor=#FFDFDF|0–2 | bgcolor=#DFE7FF|3–1 | bgcolor=#DFE7FF|3–0 |- !Greuther Fürth | bgcolor=#FFFFDD|2–2 | bgcolor=#FFFFDD|2–2 | bgcolor=#DFE7FF|2–1 | bgcolor=#DFE7FF|1–0 | bgcolor=#FFFFDD|0–0 | bgcolor=#FFDFDF|0–5 ! — | bgcolor=#FFFFDD|0–0 | bgcolor=#FFFFDD|0–0 | bgcolor=#DFE7FF|4–1 | bgcolor=#FFDFDF|0–1 | bgcolor=#FFFFDD|1–1 | bgcolor=#FFDFDF|0–4 | bgcolor=#DFE7FF|3–2 | bgcolor=#FFFFDD|2–2 | bgcolor=#DFE7FF|3–1 | bgcolor=#DFE7FF|2–1 | bgcolor=#FFFFDD|1–1 |- !Hamburgo | bgcolor=#DFE7FF|3–0 | bgcolor=#FFFFDD|0–0 | bgcolor=#FFDFDF|2–3 | bgcolor=#DFE7FF|3–0 | bgcolor=#DFE7FF|1–0 | bgcolor=#FFFFDD|1–1 | bgcolor=#DFE7FF|1–0 ! — | bgcolor=#DFE7FF|3–2 | bgcolor=#FFDFDF|0–3 | bgcolor=#FFDFDF|0–3 | bgcolor=#FFDFDF|0–5 | bgcolor=#DFE7FF|1–0 | bgcolor=#FFDFDF|1–2 | bgcolor=#DFE7FF|1–0 | bgcolor=#DFE7FF|2–1 | bgcolor=#FFFFDD|0–0 | bgcolor=#FFFFDD|2–2 |- !Heidenheim | bgcolor=#FFFFDD|1–1 | bgcolor=#DFE7FF|3–2 | bgcolor=#FFDFDF|0–1 | bgcolor=#DFE7FF|4–1 | bgcolor=#DFE7FF|1–0 | bgcolor=#DFE7FF|1–0 | bgcolor=#DFE7FF|2–0 | bgcolor=#FFFFDD|2–2 ! — | bgcolor=#FFFFDD|2–2 | bgcolor=#DFE7FF|4–2 | bgcolor=#FFDFDF|1–2 | bgcolor=#FFDFDF|0–2 | bgcolor=#DFE7FF|3–0 | bgcolor=#FFDFDF|1–5 | bgcolor=#FFDFDF|2–3 | bgcolor=#DFE7FF|3–0 | bgcolor=#DFE7FF|2–1 |- !Holstein Kiel | bgcolor=#FFDFDF|1–2 | bgcolor=#FFFFDD|2–2 | bgcolor=#DFE7FF|4–2 | bgcolor=#FFDFDF|0–2 | bgcolor=#DFE7FF|3–0 | bgcolor=#DFE7FF|5–1 | bgcolor=#FFFFDD|2–2 | bgcolor=#DFE7FF|3–1 | bgcolor=#FFFFDD|1–1 ! — | bgcolor=#FFFFDD|2–2 | bgcolor=#DFE7FF|2–0 | bgcolor=#FFFFDD|1–1 | bgcolor=#DFE7FF|2–1 | bgcolor=#FFDFDF|1–2 | bgcolor=#DFE7FF|2–1 | bgcolor=#DFE7FF|2–1 | bgcolor=#FFDFDF|0–2 |- !Ingolstadt | bgcolor=#FFFFDD|1–1 | bgcolor=#DFE7FF|2–1 | bgcolor=#DFE7FF|3–0 | bgcolor=#FFFFDD|1–1 | bgcolor=#DFE7FF|1–0 | bgcolor=#DFE7FF|3–2 | bgcolor=#FFFFDD|1–1 | bgcolor=#FFDFDF|1–2 | bgcolor=#FFFFDD|1–1 | bgcolor=#FFFFDD|1–1 ! — | bgcolor=#FFDFDF|1–2 | bgcolor=#FFDFDF|1–2 | bgcolor=#FFDFDF|0–1 | bgcolor=#FFDFDF|1–2 | bgcolor=#FFDFDF|1–2 | bgcolor=#FFDFDF|0–1 | bgcolor=#FFDFDF|1–2 |- !Jahn Regensburg | bgcolor=#FFDFDF|0–3 | bgcolor=#DFE7FF|2–1 | bgcolor=#FFFFDD|1–1 | bgcolor=#FFFFDD|1–1 | bgcolor=#FFDFDF|0–2 | bgcolor=#FFDFDF|1–3 | bgcolor=#FFDFDF|0–2 | bgcolor=#DFE7FF|2–1 | bgcolor=#DFE7FF|2–1 | bgcolor=#FFFFDD|0–0 | bgcolor=#DFE7FF|2–1 ! — | bgcolor=#FFDFDF|1–3 | bgcolor=#DFE7FF|1–0 | bgcolor=#DFE7FF|2–0 | bgcolor=#FFFFDD|2–2 | bgcolor=#FFFFDD|1–1 | bgcolor=#FFFFDD|1–1 |- !Köln | bgcolor=#DFE7FF|5–1 | bgcolor=#FFDFDF|2–3 | bgcolor=#FFDFDF|1–2 | bgcolor=#FFDFDF|1–2 | bgcolor=#DFE7FF|8–1 | bgcolor=#DFE7FF|3–1 | bgcolor=#DFE7FF|4–0 | bgcolor=#FFFFDD|1–1 | bgcolor=#FFFFDD|1–1 | bgcolor=#DFE7FF|4–0 | bgcolor=#DFE7FF|2–1 | bgcolor=#FFDFDF|3–5 ! — | bgcolor=#DFE7FF|3–0 | bgcolor=#FFDFDF|3–5 | bgcolor=#DFE7FF|3–1 | bgcolor=#DFE7FF|4–1 | bgcolor=#FFFFDD|1–1 |- !Magdeburg | bgcolor=#FFFFDD|0–0 | bgcolor=#FFFFDD|0–0 | bgcolor=#FFDFDF|0–1 | bgcolor=#FFFFDD|3–3 | bgcolor=#FFFFDD|2–2 | bgcolor=#DFE7FF|1–0 | bgcolor=#DFE7FF|2–1 | bgcolor=#FFDFDF|0–1 | bgcolor=#FFFFDD|0–0 | bgcolor=#FFFFDD|1–1 | bgcolor=#FFFFDD|1–1 | bgcolor=#FFDFDF|2–3 | bgcolor=#FFFFDD|1–1 ! — | bgcolor=#FFFFDD|1–1 | bgcolor=#FFDFDF|0–1 | bgcolor=#FFDFDF|1–2 | bgcolor=#FFFFDD|1–1 |- !Paderborn | bgcolor=#FFFFDD|2–2 | bgcolor=#FFFFDD|2–2 | bgcolor=#DFE7FF|6–2 | bgcolor=#DFE7FF|4–0 | bgcolor=#DFE7FF|3–0 | bgcolor=#DFE7FF|1–0 | bgcolor=#DFE7FF|6–0 | bgcolor=#DFE7FF|4–1 | bgcolor=#DFE7FF|3–1 | bgcolor=#FFFFDD|4–4 | bgcolor=#DFE7FF|3–1 | bgcolor=#DFE7FF|2–0 | bgcolor=#DFE7FF|3–2 | bgcolor=#FFFFDD|4–4 ! — | bgcolor=#FFFFDD|3–3 | bgcolor=#FFDFDF|0–1 | bgcolor=#FFFFDD|0–0 |- !Sandhausen | bgcolor=#FFDFDF|0–3 | bgcolor=#DFE7FF|3–0 | bgcolor=#FFFFDD|1–1 | bgcolor=#FFFFDD|0–0 | bgcolor=#DFE7FF|3–1 | bgcolor=#FFDFDF|0–3 | bgcolor=#FFFFDD|0–0 | bgcolor=#FFDFDF|0–3 | bgcolor=#FFDFDF|1–2 | bgcolor=#DFE7FF|3–2 | bgcolor=#DFE7FF|4–0 | bgcolor=#FFFFDD|2–2 | bgcolor=#FFDFDF|0–2 | bgcolor=#FFDFDF|0–1 | bgcolor=#FFFFDD|1–1 ! — | bgcolor=#DFE7FF|4–0 | bgcolor=#FFFFDD|0–0 |- !St. Pauli | bgcolor=#FFFFDD|1–1 | bgcolor=#FFFFDD|0–0 | bgcolor=#DFE7FF|2–0 | bgcolor=#FFFFDD|0–0 | bgcolor=#FFFFDD|1–1 | bgcolor=#FFDFDF|1–2 | bgcolor=#DFE7FF|2–0 | bgcolor=#FFDFDF|0–4 | bgcolor=#FFFFDD|1–1 | bgcolor=#FFDFDF|0–1 | bgcolor=#DFE7FF|1–0 | bgcolor=#DFE7FF|4–3 | bgcolor=#FFDFDF|3–5 | bgcolor=#DFE7FF|4–1 | bgcolor=#DFE7FF|2–1 | bgcolor=#DFE7FF|3–1 ! — | bgcolor=#DFE7FF|3–2 |- !Union Berlin | bgcolor=#FFFFDD|1–1 | bgcolor=#DFE7FF|2–0 | bgcolor=#DFE7FF|3–1 | bgcolor=#FFFFDD|2–2 | bgcolor=#FFFFDD|0–0 | bgcolor=#DFE7FF|1–0 | bgcolor=#DFE7FF|4–0 | bgcolor=#DFE7FF|2–0 | bgcolor=#FFFFDD|1–1 | bgcolor=#DFE7FF|2–0 | bgcolor=#DFE7FF|2–0 | bgcolor=#FFFFDD|2–2 | bgcolor=#DFE7FF|2–0 | bgcolor=#DFE7FF|3–0 | bgcolor=#FFDFDF|1–3 | bgcolor=#DFE7FF|2–0 | bgcolor=#DFE7FF|4–1 ! —