# 2019–20 3. Liga

The 2019–20 3. Liga was the twelfth season of the 3. Liga. It started on 19 July 2019 and concluded on 4 July 2020. Bayern Munich II won the league title on the final day of the season to become the first reserve team to win the 3. Liga.

## Effects of the COVID-19 pandemic

Due to the COVID-19 pandemic in Germany, the matchdays 28 and 29 were postponed and will be rescheduled. On 16 March, the DFB announced that the league would be suspended until 30 April. On 27 April, the league was suspended further but with intention to return. A decision on the resumption of the competition, similar to the Bundesliga and 2. Bundesliga, took place at an extraordinary meeting of the DFB-Bundestag on 25 May 2020. On 15 May, after the DFB said earlier that 26 May would be the start date to resume, the date was moved back as not all teams can train again regularly. The intention still was to finish the season, with games maybe even after 30 June. On 21 May, the DFB announced that the season will be continued on 30 May. That was confirmed on 25 May. On 29 May, after a meeting of all clubs, five substitutions will be permitted, which has been temporarily allowed by IFAB following a proposal by FIFA to lessen the impact of fixture congestion.

## Teams
### Team changes

| Promoted from 2018–19 Regionalliga | Relegated from 2018–19 2. Bundesliga | Promoted to 2019–20 2. Bundesliga | Relegated from 2018–19 3. Liga |
| Chemnitzer FC Viktoria Köln Waldhof Mannheim Bayern Munich II | FC Ingolstadt 1. FC Magdeburg MSV Duisburg | VfL Osnabrück Karlsruher SC Wehen Wiesbaden | Energie Cottbus Sportfreunde Lotte Fortuna Köln VfR Aalen |

### Stadiums and locations

| Team | Location | Stadium | Capacity |
| Eintracht Braunschweig | Braunschweig | Eintracht-Stadion | 23,325 |
| Chemnitzer FC | Chemnitz | Stadion an der Gellertstraße | 18,712 |
| MSV Duisburg | Duisburg | Schauinsland-Reisen-Arena | 31,500 |
| SG Sonnenhof Großaspach | Aspach | Mechatronik Arena | 10,000 |
| Hallescher FC | Halle | Erdgas Sportpark | 15,057 |
| FC Ingolstadt | Ingolstadt | Audi Sportpark | 15,000 |
| Carl Zeiss Jena | Jena | Ernst-Abbe-Sportfeld | 12,990 |
| 1. FC Kaiserslautern | Kaiserslautern | Fritz-Walter-Stadion | 49,780 |
| Viktoria Köln | Cologne | Sportpark Höhenberg | 10,001 |
| 1. FC Magdeburg | Magdeburg | MDCC-Arena | 27,500 |
| Waldhof Mannheim | Mannheim | Carl-Benz-Stadion | 25,667 |
| SV Meppen | Meppen | Hänsch-Arena | 16,500 |
| 1860 Munich | Munich | Grünwalder Stadion | 15,000 |
| Bayern Munich II | Munich | Grünwalder Stadion | 15,000 |
| Preußen Münster | Münster | Preußenstadion | 15,050 |
| Hansa Rostock | Rostock | Ostseestadion | 29,000 |
| KFC Uerdingen | Düsseldorf | Merkur Spiel-Arena | 54,600 |
| SpVgg Unterhaching | Unterhaching | Sportpark Unterhaching | 15,053 |
| Würzburger Kickers | Würzburg | Flyeralarm Arena | 14,500 |
| FSV Zwickau | Zwickau | GGZ-Arena Zwickau | 10,049 |

### Personnel and kits

| Team | Manager | Captain | Kit manufacturer | Shirt sponsor |
| Eintracht Braunschweig | Marco Antwerpen | Stephan Fürstner | Erima | SEAT |
| Chemnitzer FC | Patrick Glöckner | Niklas Hoheneder | Jako | NSH-Gruppe |
| MSV Duisburg | Torsten Lieberknecht | Moritz Stoppelkamp | Capelli | XTiP |
| Sonnenhof Großaspach | Hans-Jürgen Boysen | Julian Leist | Nike | Sanwald |
| Hallescher FC | Florian Schnorrenberg | Jan Washausen | Puma | sunmaker |
| FC Ingolstadt | Tomas Oral | Stefan Kutschke | Puma | PROSIS |
| Carl Zeiss Jena | René Klingbeil | René Eckardt | Puma | sunmaker |
| 1. FC Kaiserslautern | Boris Schommers | Christoph Hemlein | Nike | Layenberger |
| Viktoria Köln | Pavel Dochev | Mike Wunderlich | Puma | ETL |
| 1. FC Magdeburg | Thomas Hoßmang | Christian Beck | Uhlsport | sunmaker |
| Waldhof Mannheim | Bernhard Trares | Kevin Conrad | Capelli | sunmaker |
| SV Meppen | Christian Neidhart | Thilo Leugers | Nike | KiK xxl |
| 1860 Munich | Michael Köllner | Felix Weber | Macron | Die Bayerische |
| Bayern Munich II | Sebastian Hoeneß | Nicolas Feldhahn | Adidas | Magenta Sport |
| Preußen Münster | Sascha Hildmann | Julian Schauerte | Jako | sunmaker |
| Hansa Rostock | Jens Härtel | Julian Riedel | Nike | sunmaker |
| KFC Uerdingen | Stefan Krämer | Jan Kirchhoff | Capelli | SWK |
| SpVgg Unterhaching | Claus Schromm | Josef Welzmüller | Adidas | frostkrone |
| Würzburger Kickers | Michael Schiele | Sebastian Schuppan | Jako | BVUK |
| FSV Zwickau | Joe Enochs | Johannes Brinkies | Puma | sunmaker |

### 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. |
| Preußen Münster | Marco Antwerpen | Resigned | 29 January 2019 | 30 June 2019 | Pre-season | Sven Hübscher | 20 March 2019 | 1 July 2019 | |
| Sonnenhof Großaspach | Markus Lang | End of caretaker spell | 6 May 2019 | 30 June 2019 | Pre-season | Oliver Zapel | 4 June 2019 | 1 July 2019 | |
| 1. FC Magdeburg | Michael Oenning | End of contract | 16 May 2019 | 30 June 2019 | Pre-season | Stefan Krämer | 21 May 2019 | 1 July 2019 | |
| Viktoria Köln | Jürgen Kohler | End of caretaker spell | 22 May 2019 | 30 June 2019 | Pre-season | Pavel Dochev | 22 May 2019 | 1 July 2019 | |
| FC Ingolstadt | Tomas Oral | Resigned | 30 May 2019 | 30 June 2019 | Pre-season | Jeff Saibene | 12 June 2019 | 1 July 2019 | |
| Bayern Munich II | Holger Seitz | Became head of academy | 3 June 2019 | 30 June 2019 | Pre-season | Sebastian Hoeneß | 3 June 2019 | 1 July 2019 | |
| Eintracht Braunschweig | André Schubert | Signed by Holstein Kiel | 16 June 2019 | 30 June 2019 | Pre-season | Christian Flüthmann | 17 June 2019 | 1 July 2019 | |
| Chemnitzer FC | David Bergner | Sacked | 4 September 2019 | 4 September 2019 | 19th | Sreto Ristić (interim) | 4 September 2019 | 4 September 2019 | |
| 1. FC Kaiserslautern | Sascha Hildmann | Sacked | 16 September 2019 | 16 September 2019 | 14th | Boris Schommers | 19 September 2019 | 19 September 2019 | |
| Chemnitzer FC | Sreto Ristić (interim) | End of caretaker spell | 22 September 2019 | 22 September 2019 | 19th | Patrick Glöckner | 22 September 2019 | 22 September 2019 | |
| KFC Uerdingen | Heiko Vogel | Sacked | 25 September 2019 | 25 September 2019 | 17th | Stefan Reisinger (interim) | 25 September 2019 | 25 September 2019 | |
| Carl Zeiss Jena | Lukas Kwasniok | Sacked | 28 September 2019 | 28 September 2019 | 20th | Christian Fröhlich (interim) | 4 October 2019 | 4 October 2019 | |
| Carl Zeiss Jena | Christian Fröhlich (interim) | End of caretaker spell | 8 October 2019 | 8 October 2019 | 20th | Rico Schmitt | 8 October 2019 | 8 October 2019 | |
| KFC Uerdingen | Stefan Reisinger (interim) | End of caretaker spell | 16 October 2019 | 16 October 2019 | 16th | Daniel Steuernagel | 16 October 2019 | 16 October 2019 | |
| 1860 Munich | Daniel Bierofka | Resigned | 7 November 2019 | 7 November 2019 | 15th | Oliver Beer (interim) | 7 November 2019 | 7 November 2019 | |
| 1860 Munich | Oliver Beer (interim) | End of caretaker spell | 9 November 2019 | 9 November 2019 | 15th | Michael Köllner (interim) | 9 November 2019 | 9 November 2019 | |
| Eintracht Braunschweig | Christian Flüthmann | Sacked | 17 November 2019 | 17 November 2019 | 5th | Marco Antwerpen | 18 November 2019 | 18 November 2019 | |
| Sonnenhof Großaspach | Oliver Zapel | Sacked | 16 December 2019 | 16 December 2019 | 19th | Markus Lang (interim) | 16 December 2019 | 16 December 2019 | |
| 1. FC Magdeburg | Stefan Krämer | Sacked | 22 December 2019 | 22 December 2019 | 12th | Claus-Dieter Wollitz | 23 December 2019 | 23 December 2019 | |
| Preußen Münster | Sven Hübscher | Sacked | 1 December 2019 | 1 December 2019 | 19th | Arne Barez (interim) | 1 December 2019 | 1 December 2019 | |
| Preußen Münster | Arne Barez (interim) | End of caretaker spell | 27 December 2019 | 27 December 2019 | 19th | Sascha Hildmann | 27 December 2019 | 27 December 2019 | |
| Sonnenhof Großaspach | Markus Lang (interim) | End of caretaker spell | 3 January 2020 | 3 January 2020 | 19th | Mike Sadlo/Heiner Backhaus | 3 January 2020 | 3 January 2020 | |
| Carl Zeiss Jena | Rico Schmitt | Sacked | 5 February 2020 | 5 February 2020 | 20th | René Klingbeil (interim) | 7 February 2020 | 7 February 2020 | |
| Sonnenhof Großaspach | Mike Sadlo/Heiner Backhaus | Sacked | 12 February 2020 | 12 February 2020 | 19th | Markus Lang (interim) | 12 February 2020 | 12 February 2020 | |
| Hallescher FC | Torsten Ziegner | Sacked | 24 February 2020 | 24 February 2020 | 13th | Ismail Atalan | 25 February 2020 | 25 February 2020 | |
| Sonnenhof Großaspach | Markus Lang (interim) | End of caretaker spell | 26 February 2020 | 26 February 2020 | 19th | Hans-Jürgen Boysen | 26 February 2020 | 26 February 2020 | |
| FC Ingolstadt | Jeff Saibene | Sacked | 9 March 2020 | 9 March 2020 | 5th | Tomas Oral | 11 March 2020 | 11 March 2020 | |
| KFC Uerdingen | Daniel Steuernagel | Mutual consent | 10 March 2020 | 10 March 2020 | 11th | Stefan Krämer | 10 March 2020 | 10 March 2020 | |
| Hallescher FC | Ismail Atalan | Sacked | 8 June 2020 | 8 June 2020 | 17th | Florian Schnorrenberg | 8 June 2020 | 8 June 2020 | |
| 1. FC Magdeburg | Claus-Dieter Wollitz | Sacked | 10 June 2020 | 10 June 2020 | 14th | Thomas Hoßmang | 10 June 2020 | 10 June 2020 | |

## League table

| Pos | Team | Pld | W | D | L | GF | GA | GD | Pts | Promotion, qualification or relegation |
| 1 | Bayern Munich II (C) | 38 | 19 | 8 | 11 | 76 | 60 | +16 | 65 | |
| 2 | Würzburger Kickers (P) | 38 | 19 | 7 | 12 | 71 | 60 | +11 | 64 | Promotion to 2. Bundesliga and qualification for DFB-Pokal |
| 3 | Eintracht Braunschweig (P) | 38 | 18 | 10 | 10 | 64 | 53 | +11 | 64 | Promotion to 2. Bundesliga and qualification for DFB-Pokal |
| 4 | FC Ingolstadt | 38 | 17 | 12 | 9 | 61 | 40 | +21 | 63 | Qualification for promotion play-offs and DFB-Pokal |
| 5 | MSV Duisburg | 38 | 17 | 11 | 10 | 68 | 48 | +20 | 62 | Qualification for DFB-Pokal |
| 6 | Hansa Rostock | 38 | 17 | 8 | 13 | 54 | 43 | +11 | 59 | |
| 7 | SV Meppen | 38 | 16 | 10 | 12 | 69 | 57 | +12 | 58 | |
| 8 | 1860 Munich | 38 | 16 | 10 | 12 | 63 | 54 | +9 | 58 | |
| 9 | Waldhof Mannheim | 38 | 13 | 17 | 8 | 52 | 47 | +5 | 56 | |
| 10 | 1. FC Kaiserslautern | 38 | 14 | 13 | 11 | 59 | 54 | +5 | 55 | |
| 11 | SpVgg Unterhaching | 38 | 12 | 15 | 11 | 50 | 53 | −3 | 51 | |
| 12 | Viktoria Köln | 38 | 14 | 9 | 15 | 65 | 71 | −6 | 51 | |
| 13 | KFC Uerdingen | 38 | 12 | 12 | 14 | 40 | 54 | −14 | 48 | |
| 14 | 1. FC Magdeburg | 38 | 10 | 17 | 11 | 49 | 42 | +7 | 47 | |
| 15 | Hallescher FC | 38 | 12 | 10 | 16 | 64 | 66 | −2 | 46 | |
| 16 | FSV Zwickau | 38 | 11 | 11 | 16 | 56 | 61 | −5 | 44 | |
| 17 | Chemnitzer FC (R) | 38 | 11 | 11 | 16 | 54 | 60 | −6 | 44 | Relegation to Regionalliga |
| 18 | Preußen Münster (R) | 38 | 9 | 13 | 16 | 49 | 62 | −13 | 40 | Relegation to Regionalliga |
| 19 | Sonnenhof Großaspach (R) | 38 | 8 | 8 | 22 | 33 | 67 | −34 | 32 | Relegation to Regionalliga |
| 20 | Carl Zeiss Jena (R) | 38 | 5 | 8 | 25 | 40 | 85 | −45 | 23 | Relegation to Regionalliga |
* ↑ Reserve teams are ineligible for promotion or DFB-Pokal qualification.

## Results

| Home \ Away | BRA | CHE | DUI | GRO | HAL | ING | JEN | KAI | KÖL | MAG | MAN | MEP | MUN | MU2 | MÜN | ROS | UER | UNT | WÜR | ZWI |
| Eintracht Braunschweig | — | 2–1 | 0–3 | 2–1 | 1–1 | 0–3 | 1–1 | 2–0 | 3–1 | 2–2 | 3–2 | 1–2 | 2–1 | 1–1 | 1–0 | 1–2 | 4–1 | 0–0 | 5–2 | 3–1 |
| Chemnitzer FC | 1–2 | — | 3–1 | 0–1 | 3–0 | 0–1 | 3–2 | 3–1 | 2–2 | 0–0 | 1–1 | 2–4 | 0–1 | 1–0 | 1–0 | 4–2 | 1–1 | 1–0 | 0–0 | 2–2 |
| MSV Duisburg | 1–1 | 2–1 | — | 4–1 | 2–2 | 1–1 | 1–1 | 3–1 | 2–1 | 1–0 | 2–3 | 1–3 | 2–1 | 3–2 | 2–0 | 0–0 | 2–0 | 4–0 | 1–1 | 3–1 |
| Sonnenhof Großaspach | 1–3 | 2–0 | 1–1 | — | 1–0 | 1–5 | 1–2 | 1–3 | 0–3 | 1–2 | 0–3 | 1–2 | 2–4 | 2–2 | 0–0 | 0–1 | 2–2 | 0–2 | 0–6 | 1–0 |
| Hallescher FC | 0–1 | 3–1 | 1–0 | 4–0 | — | 1–1 | 5–3 | 1–1 | 3–4 | 1–1 | 3–0 | 3–3 | 0–1 | 1–2 | 2–2 | 1–0 | 1–1 | 3–5 | 2–5 | 1–1 |
| FC Ingolstadt | 0–0 | 1–1 | 3–2 | 1–1 | 2–3 | — | 5–1 | 2–1 | 0–1 | 0–2 | 2–0 | 1–1 | 2–2 | 1–2 | 3–2 | 2–2 | 0–1 | 0–0 | 3–0 | 4–2 |
| Carl Zeiss Jena | 0–2 | 0–1 | 1–2 | 1–0 | 0–3 | 1–2 | — | 1–2 | 2–3 | 1–1 | 1–2 | 0–2 | 0–3 | 1–2 | 1–2 | 3–1 | 0–0 | 0–3 | 1–1 | 2–1 |
| 1. FC Kaiserslautern | 0–3 | 2–0 | 1–3 | 0–0 | 1–0 | 0–0 | 3–1 | — | 3–0 | 1–1 | 1–1 | 3–3 | 1–1 | 1–0 | 1–1 | 2–0 | 4–0 | 1–1 | 2–3 | 0–0 |
| Viktoria Köln | 0–0 | 3–2 | 1–0 | 1–0 | 0–2 | 3–0 | 2–2 | 2–4 | — | 1–1 | 2–2 | 1–3 | 2–0 | 2–4 | 2–1 | 1–5 | 0–1 | 0–2 | 5–1 | 3–0 |
| 1. FC Magdeburg | 2–4 | 1–1 | 1–1 | 0–1 | 1–0 | 0–2 | 6–2 | 0–1 | 2–0 | — | 1–1 | 0–2 | 5–2 | 2–2 | 2–2 | 0–1 | 1–1 | 3–0 | 3–0 | 1–2 |
| Waldhof Mannheim | 0–0 | 4–3 | 4–3 | 3–2 | 0–4 | 0–0 | 1–1 | 1–1 | 2–1 | 1–1 | — | 0–0 | 4–0 | 2–3 | 0–0 | 1–1 | 1–2 | 0–3 | 1–2 | 0–0 |
| SV Meppen | 4–3 | 1–2 | 1–0 | 2–1 | 2–3 | 0–2 | 3–0 | 6–1 | 1–1 | 1–3 | 0–1 | — | 1–1 | 5–3 | 3–1 | 0–3 | 1–2 | 3–0 | 1–3 | 0–2 |
| 1860 Munich | 4–1 | 4–3 | 3–2 | 1–1 | 2–1 | 0–2 | 3–1 | 3–1 | 4–2 | 1–1 | 1–1 | 0–0 | — | 1–1 | 1–1 | 0–1 | 0–1 | 3–0 | 1–2 | 3–0 |
| Bayern Munich II | 2–0 | 2–2 | 2–2 | 2–0 | 6–1 | 2–1 | 2–3 | 1–3 | 2–5 | 2–1 | 2–2 | 5–1 | 2–1 | — | 3–2 | 1–0 | 2–1 | 1–2 | 1–1 | 2–0 |
| Preußen Münster | 1–1 | 3–3 | 1–4 | 1–1 | 4–2 | 0–0 | 2–0 | 3–2 | 2–3 | 2–0 | 1–3 | 0–3 | 0–1 | 1–4 | — | 1–0 | 1–1 | 2–1 | 0–0 | 2–1 |
| Hansa Rostock | 3–0 | 1–2 | 1–2 | 0–1 | 1–0 | 3–0 | 4–0 | 1–1 | 3–3 | 3–1 | 0–1 | 2–1 | 2–1 | 2–1 | 1–0 | — | 1–0 | 1–1 | 1–0 | 1–1 |
| KFC Uerdingen | 1–2 | 1–1 | 1–1 | 2–1 | 1–0 | 0–3 | 2–0 | 0–3 | 1–1 | 0–0 | 0–3 | 0–0 | 1–3 | 0–3 | 0–2 | 4–1 | — | 2–2 | 1–2 | 4–2 |
| SpVgg Unterhaching | 1–3 | 2–1 | 2–2 | 2–0 | 0–3 | 1–2 | 2–2 | 1–1 | 1–1 | 0–0 | 0–0 | 0–0 | 2–3 | 0–1 | 2–2 | 1–0 | 1–0 | — | 5–4 | 0–0 |
| Würzburger Kickers | 3–1 | 3–0 | 0–2 | 0–3 | 2–2 | 3–1 | 4–2 | 2–0 | 3–1 | 0–1 | 0–0 | 3–2 | 2–1 | 3–1 | 3–2 | 3–1 | 1–2 | 1–2 | — | 0–2 |
| FSV Zwickau | 3–2 | 2–1 | 1–0 | 0–1 | 5–1 | 0–3 | 2–0 | 3–5 | 4–0 | 0–0 | 0–1 | 2–2 | 2–2 | 3–0 | 4–2 | 2–2 | 1–2 | 3–3 | 1–2 | — |

## Top scorers

| Rank | Player | Club | Goals |
| 1 | Kwasi Okyere Wriedt | Bayern Munich II | 24 |
| 2 | Albert Bunjaku | Viktoria Köln | 20 |
| 3 | Philipp Hosiner | Chemnitzer FC | 19 |
| 4 | Martin Kobylański | Eintracht Braunschweig | 18 |
| 5 | Deniz Undav | SV Meppen | 17 |
| 5 | Mike Wunderlich | Viktoria Köln | 17 |
| 7 | Pascal Breier | Hansa Rostock | 15 |
| 7 | Sascha Mölders | 1860 Munich | 15 |
| 7 | Luca Pfeiffer | Würzburger Kickers | 15 |
| 7 | Moritz Stoppelkamp | MSV Duisburg | 15 |

## Number of teams by state

| Position | State | Number of teams | Teams |
| 1 | Bavaria | 5 | FC Ingolstadt, Bayern Munich II, 1860 Munich, SpVgg Unterhaching and Würzburger Kickers |
| 2 | North Rhine-Westphalia | 4 | MSV Duisburg, Viktoria Köln, Preußen Münster and KFC Uerdingen |
| 3 | Baden-Württemberg | 2 | Sonnenhof Großaspach and Waldhof Mannheim |
| 3 | Lower Saxony | 2 | Eintracht Braunschweig and SV Meppen |
| 3 | Saxony | 2 | FSV Zwickau and Chemnitzer FC |
| 3 | Saxony-Anhalt | 2 | Hallescher FC and 1. FC Magdeburg |
| 7 | Mecklenburg-Vorpommern | 1 | Hansa Rostock |
| 7 | Rhineland-Palatinate | 1 | 1. FC Kaiserslautern |
| 7 | Thuringia | 1 | Carl Zeiss Jena |