# 2019–20 Ekstraklasa

The 2019–20 Ekstraklasa (also known as PKO Bank Polski Ekstraklasa due to its sponsorship by PKO Bank Polski) was the 94th season of the Polish Football Championship, the 86th season of the highest tier domestic division in the Polish football league system since its establishment in 1927 and the 12th season of the Ekstraklasa under its current title. The league was operated by the Ekstraklasa SA.
The regular season was played as a round-robin tournament. A total of 16 teams participated, 14 of which competed in the league during the previous season, while the remaining two were promoted from the 2018–19 I liga. It is the third Ekstraklasa season to use VAR. The season started on 19 July 2019 and concluded on 19 July 2020 (the fixtures were announced on 3 June 2019 and revised on 13 May 2020 due to the outbreak of COVID-19 pandemic). After the 20th matchday the league went on a winter break between 23 December 2019 and 8 February 2020. On 13 March 2020, the Ekstraklasa SA suspended the league due to the outbreak of COVID-19 pandemic. After consultation with the Polish government, the league resumed behind closed doors without any spectators on 29 May 2020. All matches of 31–37 round have been played with "no more than 25 percent of the number of seats allocated to the public".
Each team played a total of 30 matches in the regular season, half at home and half away. After the 30th round, the league split into two groups: championship round (top eight teams) and relegation round (bottom eight teams). Each team played 7 more games (teams ranked 1 to 4 and 9 to 12 played four times at home). Therefore, each team played a total of 37 matches. The team at the top of the Championship round won the league title. However, the rules for promotion and relegation from the league have changed: starting from the 2019–20 season, three teams were relegated from Ekstraklasa to I liga, while from the I liga to Ekstraklasa two teams advanced directly, while teams from 3-6 places fought in a play-off where the winner was awarded with a promotion to Ekstraklasa.
The defending champions were Piast Gliwice, who won their 1st Polish title the previous season. The two clubs promoted were Raków Częstochowa, returning to Ekstraklasa after 21 years, as well as ŁKS Łódź, who make a return to Ekstraklasa after 7 years. Legia Warsaw clinched their fourteenth Ekstraklasa title on the twenty eight matchday of the season, after a 2–0 win against Cracovia.

## Teams

A total of 16 teams participated in the 2019–20 edition of the Ekstraklasa.

### Changes from last season

| Promoted from 2018–19 I liga | Relegated from 2018–19 Ekstraklasa |
| Raków Częstochowa ŁKS Łódź | Miedź Legnica Zagłębie Sosnowiec |

### Stadiums and locations

    Note: Table lists in alphabetical order.
| Team | Location | Venue | Capacity |
| Arka Gdynia | Gdynia | Stadion Arki Gdynia | 15,139 |
| Cracovia | Kraków | Stadion im. Józefa Piłsudskiego | 15,114 |
| Górnik Zabrze | Zabrze | Stadion im. Ernesta Pohla | 24,563 |
| Jagiellonia Białystok | Białystok | Stadion Jagiellonii Białystok | 22,432 |
| Korona Kielce | Kielce | Suzuki Arena | 15,550 |
| Lech Poznań | Poznań | Stadion Poznań | 43,269 |
| Lechia Gdańsk | Gdańsk | Stadion Energa Gdańsk | 43,615 |
| Legia Warsaw | Warsaw | Stadion Wojska Polskiego | 31,800 |
| ŁKS Łódź | Łódź | Stadion ŁKS | 5,700 |
| Piast Gliwice | Gliwice | Stadion Miejski im. Piotra Wieczorka | 10,037 |
| Pogoń Szczecin | Szczecin | Stadion im. Floriana Krygiera | 4,200 |
| Raków Częstochowa | Bełchatów | GIEKSA Arena | 5,264 |
| Śląsk Wrocław | Wrocław | Stadion Wrocław | 45,105 |
| Wisła Kraków | Kraków | Stadion im. Henryka Reymana | 33,326 |
| Wisła Płock | Płock | Stadion im. Kazimierza Górskiego | 12,800 |
| Zagłębie Lubin | Lubin | Stadion Zagłębia Lubin | 16,068 |
* ^ Upgrading to 31,871.
* ^ Upgrading to 21,163.
* ^ Due to the renovation of the Municipal Football Stadium "Raków" in Częstochowa, Raków played home matches at the GIEKSA Arena in Bełchatów.
| Arka | Cracovia | Górnik Zabrze | Jagiellonia | Korona | Lech |
| Stadion GOSiR | Stadion im. Józefa Piłsudskiego | Stadion im. Ernesta Pohla | Stadion Jagiellonii | Suzuki Arena | Stadion Lecha |
| Capacity: 15,139 | Capacity: 15,114 | Capacity: 24,563 | Capacity: 22,432 | Capacity: 15,550 | Capacity: 43,269 |
| Lechia | ArkaCracoviaGórnikJagielloniaKoronaLechLechiaLegiaŁKSPiastPogońRakówŚląskWisła K.Wisła P.Zagłębieclass=notpageimage| Location of teams in 2019–20 Ekstraklasa | ArkaCracoviaGórnikJagielloniaKoronaLechLechiaLegiaŁKSPiastPogońRakówŚląskWisła K.Wisła P.Zagłębieclass=notpageimage| Location of teams in 2019–20 Ekstraklasa | ArkaCracoviaGórnikJagielloniaKoronaLechLechiaLegiaŁKSPiastPogońRakówŚląskWisła K.Wisła P.Zagłębieclass=notpageimage| Location of teams in 2019–20 Ekstraklasa | ArkaCracoviaGórnikJagielloniaKoronaLechLechiaLegiaŁKSPiastPogońRakówŚląskWisła K.Wisła P.Zagłębieclass=notpageimage| Location of teams in 2019–20 Ekstraklasa | Legia |
| Stadion Energa Gdańsk | ArkaCracoviaGórnikJagielloniaKoronaLechLechiaLegiaŁKSPiastPogońRakówŚląskWisła K.Wisła P.Zagłębieclass=notpageimage| Location of teams in 2019–20 Ekstraklasa | ArkaCracoviaGórnikJagielloniaKoronaLechLechiaLegiaŁKSPiastPogońRakówŚląskWisła K.Wisła P.Zagłębieclass=notpageimage| Location of teams in 2019–20 Ekstraklasa | ArkaCracoviaGórnikJagielloniaKoronaLechLechiaLegiaŁKSPiastPogońRakówŚląskWisła K.Wisła P.Zagłębieclass=notpageimage| Location of teams in 2019–20 Ekstraklasa | ArkaCracoviaGórnikJagielloniaKoronaLechLechiaLegiaŁKSPiastPogońRakówŚląskWisła K.Wisła P.Zagłębieclass=notpageimage| Location of teams in 2019–20 Ekstraklasa | Stadion Wojska Polskiego |
| Capacity: 43,615 | ArkaCracoviaGórnikJagielloniaKoronaLechLechiaLegiaŁKSPiastPogońRakówŚląskWisła K.Wisła P.Zagłębieclass=notpageimage| Location of teams in 2019–20 Ekstraklasa | ArkaCracoviaGórnikJagielloniaKoronaLechLechiaLegiaŁKSPiastPogońRakówŚląskWisła K.Wisła P.Zagłębieclass=notpageimage| Location of teams in 2019–20 Ekstraklasa | ArkaCracoviaGórnikJagielloniaKoronaLechLechiaLegiaŁKSPiastPogońRakówŚląskWisła K.Wisła P.Zagłębieclass=notpageimage| Location of teams in 2019–20 Ekstraklasa | ArkaCracoviaGórnikJagielloniaKoronaLechLechiaLegiaŁKSPiastPogońRakówŚląskWisła K.Wisła P.Zagłębieclass=notpageimage| Location of teams in 2019–20 Ekstraklasa | Capacity: 31,800 |
| ŁKS Łódź | ArkaCracoviaGórnikJagielloniaKoronaLechLechiaLegiaŁKSPiastPogońRakówŚląskWisła K.Wisła P.Zagłębieclass=notpageimage| Location of teams in 2019–20 Ekstraklasa | ArkaCracoviaGórnikJagielloniaKoronaLechLechiaLegiaŁKSPiastPogońRakówŚląskWisła K.Wisła P.Zagłębieclass=notpageimage| Location of teams in 2019–20 Ekstraklasa | ArkaCracoviaGórnikJagielloniaKoronaLechLechiaLegiaŁKSPiastPogońRakówŚląskWisła K.Wisła P.Zagłębieclass=notpageimage| Location of teams in 2019–20 Ekstraklasa | ArkaCracoviaGórnikJagielloniaKoronaLechLechiaLegiaŁKSPiastPogońRakówŚląskWisła K.Wisła P.Zagłębieclass=notpageimage| Location of teams in 2019–20 Ekstraklasa | Piast |
| Stadion ŁKS | ArkaCracoviaGórnikJagielloniaKoronaLechLechiaLegiaŁKSPiastPogońRakówŚląskWisła K.Wisła P.Zagłębieclass=notpageimage| Location of teams in 2019–20 Ekstraklasa | ArkaCracoviaGórnikJagielloniaKoronaLechLechiaLegiaŁKSPiastPogońRakówŚląskWisła K.Wisła P.Zagłębieclass=notpageimage| Location of teams in 2019–20 Ekstraklasa | ArkaCracoviaGórnikJagielloniaKoronaLechLechiaLegiaŁKSPiastPogońRakówŚląskWisła K.Wisła P.Zagłębieclass=notpageimage| Location of teams in 2019–20 Ekstraklasa | ArkaCracoviaGórnikJagielloniaKoronaLechLechiaLegiaŁKSPiastPogońRakówŚląskWisła K.Wisła P.Zagłębieclass=notpageimage| Location of teams in 2019–20 Ekstraklasa | Stadion Miejski im. Piotra Wieczorka |
| Capacity: 5,700 | ArkaCracoviaGórnikJagielloniaKoronaLechLechiaLegiaŁKSPiastPogońRakówŚląskWisła K.Wisła P.Zagłębieclass=notpageimage| Location of teams in 2019–20 Ekstraklasa | ArkaCracoviaGórnikJagielloniaKoronaLechLechiaLegiaŁKSPiastPogońRakówŚląskWisła K.Wisła P.Zagłębieclass=notpageimage| Location of teams in 2019–20 Ekstraklasa | ArkaCracoviaGórnikJagielloniaKoronaLechLechiaLegiaŁKSPiastPogońRakówŚląskWisła K.Wisła P.Zagłębieclass=notpageimage| Location of teams in 2019–20 Ekstraklasa | ArkaCracoviaGórnikJagielloniaKoronaLechLechiaLegiaŁKSPiastPogońRakówŚląskWisła K.Wisła P.Zagłębieclass=notpageimage| Location of teams in 2019–20 Ekstraklasa | Capacity: 10,037 |
| Pogoń | Raków | Śląsk | Wisła Kraków | Wisła Płock | Zagłębie |
| Stadion im. Floriana Krygiera | Stadion Miejski | Stadion Wrocław | Stadion im. Henryka Reymana | Stadion im. Kazimierza Górskiego | Stadion Zagłębia |
| Capacity: 4,200 | Capacity: 5,264 | Capacity: 45,105 | Capacity: 33,326 | Capacity: 12,800 | Capacity: 16,068 |

### Personnel and kits

| Team | Chairman | Head coach | Captain | Manufacturer | Sponsors |
| Arka Gdynia | Grzegorz Stańczuk | Ireneusz Mamrot | Adam Marciniak | Adidas | LV Bet, Gdynia |
| Cracovia | Janusz Filipiak | Michał Probierz | Rafael Lopes | Puma | Comarch |
| Górnik Zabrze | Bartosz Sarnowski | Marcin Brosz | Szymon Matuszek | Adidas | Polska Grupa Górnicza |
| Jagiellonia Białystok | Cezary Kulesza | Ivaylo Petev | Taras Romanczuk | Erreà | STS, Wschodzący Białystok |
| Korona Kielce | Krzysztof Zając | Maciej Bartoszek | Adnan Kovačević | Puma | Suzuki |
| Lech Poznań | Karol Klimczak | Dariusz Żuraw | Thomas Rogne | Macron | Aforti |
| Lechia Gdańsk | Adam Mandziara | Piotr Stokowiec | Flávio Paixão | New Balance | Energa, Paytren |
| Legia Warsaw | Dariusz Mioduski | Aleksandar Vuković | Artur Jędrzejczyk | Adidas | Fortuna |
| ŁKS Łódź | Tomasz Salski | Wojciech Stawowy | Maksymilian Rozwandowicz | Adidas | forBET |
| Piast Gliwice | Paweł Żelem | Waldemar Fornalik | Gerard Badía | Adidas | Betclic, Gliwice |
| Pogoń Szczecin | Jarosław Mroczek | Kosta Runjaić | Adam Frączczak | Zina | Grupa Azoty, Trawnik Producent |
| Raków Częstochowa | Wojciech Cygan | Marek Papszun | Tomáš Petrášek | Hummel | x-kom |
| Śląsk Wrocław | Piotr Waśniewski | Vítězslav Lavička | Krzysztof Mączyński | Adidas | Noblebet |
| Wisła Kraków | Rafał Wisłocki | Artur Skowronek | Jakub Błaszczykowski | Adidas | LV Bet |
| Wisła Płock | Jacek Kruszewski | Radosław Sobolewski | Bartłomiej Sielewski | Adidas | PKN Orlen |
| Zagłębie Lubin | Marcin Lewiński | Martin Ševela | Ľubomír Guldan | Nike | KGHM |

### Managerial changes

| Team | Outgoing manager | Manner of departure | Date of vacancy | Position in table | Incoming manager | Date of appointment |
| Wisła Płock | Leszek Ojrzyński | Resigned | 27 July 2019 | 12th | Patryk Kniat (interim) | 27 July 2019 |
| Wisła Płock | Patryk Kniat | End of caretaker spell | 6 August 2019 | 15th | Radosław Sobolewski | 6 August 2019 |
| Korona Kielce | Gino Lettieri | Sacked | 31 August 2019 | 16th | Sławomir Grzesik (interim) | 31 August 2019 |
| Zagłębie Lubin | Ben van Dael | Sacked | 31 August 2019 | 13th | Paweł Karmelita (interim) | 31 August 2019 |
| Korona Kielce | Sławomir Grzesik | End of caretaker spell | 16 September 2019 | 14th | Mirosław Smyła | 16 September 2019 |
| Zagłębie Lubin | Paweł Karmelita | End of caretaker spell | 16 September 2019 | 12th | Martin Ševela | 16 September 2019 |
| Arka Gdynia | Jacek Zieliński | Sacked | 8 October 2019 | 14th | Aleksandar Rogić | 10 October 2019 |
| Wisła Kraków | Maciej Stolarczyk | Sacked | 14 November 2019 | 16th | Artur Skowronek | 14 November 2019 |
| Jagiellonia Białystok | Ireneusz Mamrot | Mutual consent | 8 December 2019 | 9th | Rafał Grzyb (interim) | 8 December 2019 |
| Jagiellonia Białystok | Rafał Grzyb | End of caretaker spell | 30 December 2019 | 9th | Ivaylo Petev | 30 December 2019 |
| Korona Kielce | Mirosław Smyła | Sacked | 6 March 2020 | 15th | Maciej Bartoszek | 6 March 2020 |
| Arka Gdynia | Aleksandar Rogić | Resigned | 7 March 2020 | 14th | Ireneusz Mamrot | 9 May 2020 |
| ŁKS Łódź | Kazimierz Moskal | Mutual consent | 2 May 2020 | 16th | Wojciech Stawowy | 4 May 2020 |

## Effects of the COVID-19 pandemic

Ekstraklasa schedule changes :
| Round | Original dates | Revised dates |
| 27 | 14–15 March | 30–31 May |
| 28 | 21–22 March | 6–7 June |
| 29 | 4–5 April | 10 June (midweek) |
| 30 | 11 April | 14 June |
| 31 | 18–19 April | 20–21 June |
| 32 | 22 April | 24 June (midweek) |
| 33 | 25–26 April | 27–28 June |
| 34 | 2–3 May | 4–5 July |
| 35 | 9–10 May | 11–12 July |
| 36 | 13 May | 15 July (midweek) |
| 37 | 16–17 May | 18–19 July |
From 19 June 2020, it was possible for spectators to take 25% of possible seats. This regulation come into force by matchday 31.

## Regular season
### League table

| Pos | Teamvte | Pld | W | D | L | GF | GA | GD | Pts | Qualification |
| 1 | Legia Warsaw | 30 | 19 | 3 | 8 | 63 | 30 | +33 | 60 | Qualification for the Championship round |
| 2 | Piast Gliwice | 30 | 16 | 5 | 9 | 36 | 26 | +10 | 53 | Qualification for the Championship round |
| 3 | Śląsk Wrocław | 30 | 13 | 10 | 7 | 42 | 33 | +9 | 49 | Qualification for the Championship round |
| 4 | Lech Poznań | 30 | 13 | 10 | 7 | 55 | 29 | +26 | 49 | Qualification for the Championship round |
| 5 | Cracovia | 30 | 14 | 4 | 12 | 39 | 29 | +10 | 46 | Qualification for the Championship round |
| 6 | Pogoń Szczecin | 30 | 12 | 9 | 9 | 29 | 31 | −2 | 45 | Qualification for the Championship round |
| 7 | Jagiellonia Białystok | 30 | 12 | 8 | 10 | 41 | 39 | +2 | 44 | Qualification for the Championship round |
| 8 | Lechia Gdańsk | 30 | 11 | 10 | 9 | 40 | 42 | −2 | 43 | Qualification for the Championship round |
| 9 | Górnik Zabrze | 30 | 10 | 11 | 9 | 39 | 38 | +1 | 41 | Qualification for the Relegation round |
| 10 | Raków Częstochowa | 30 | 12 | 5 | 13 | 38 | 43 | −5 | 41 | Qualification for the Relegation round |
| 11 | Zagłębie Lubin | 30 | 10 | 8 | 12 | 49 | 46 | +3 | 38 | Qualification for the Relegation round |
| 12 | Wisła Płock | 30 | 10 | 8 | 12 | 37 | 50 | −13 | 38 | Qualification for the Relegation round |
| 13 | Wisła Kraków | 30 | 10 | 5 | 15 | 37 | 47 | −10 | 35 | Qualification for the Relegation round |
| 14 | Korona Kielce | 30 | 8 | 6 | 16 | 21 | 37 | −16 | 30 | Qualification for the Relegation round |
| 15 | Arka Gdynia | 30 | 7 | 8 | 15 | 28 | 47 | −19 | 29 | Qualification for the Relegation round |
| 16 | ŁKS Łódź | 30 | 5 | 6 | 19 | 26 | 53 | −27 | 21 | Qualification for the Relegation round |
* 1 2 Head-to-head points: Śląsk Wrocław 4, Lech Poznań 1.
* 1 2 Head-to-head away goals: Górnik Zabrze 1, Raków Częstochowa 0.
* 1 2 Head-to-head points: Zagłębie Lubin 4, Wisła Płock 1.

### Positions by round

| Team ╲ Round | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| Legia | 13 | 7 | 7 | 10 | 8 | 8 | 5 | 5 | 3 | 5 | 9 | 7 | 4 | 1 | 1 | 4 | 3 | 2 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| Piast | 5 | 11 | 14 | 9 | 5 | 5 | 7 | 9 | 7 | 9 | 7 | 3 | 2 | 3 | 2 | 5 | 5 | 7 | 5 | 6 | 6 | 7 | 6 | 7 | 6 | 2 | 2 | 2 | 2 | 2 |
| Śląsk | 3 | 2 | 3 | 1 | 1 | 1 | 1 | 3 | 2 | 4 | 6 | 9 | 6 | 6 | 5 | 2 | 1 | 4 | 3 | 4 | 4 | 4 | 4 | 4 | 3 | 4 | 3 | 4 | 3 | 3 |
| Lech | 5 | 3 | 1 | 3 | 4 | 4 | 6 | 8 | 9 | 8 | 5 | 8 | 10 | 9 | 9 | 9 | 8 | 6 | 7 | 5 | 5 | 5 | 5 | 5 | 4 | 5 | 5 | 5 | 4 | 4 |
| Cracovia | 5 | 11 | 6 | 4 | 7 | 6 | 4 | 2 | 5 | 2 | 2 | 5 | 5 | 2 | 4 | 3 | 4 | 3 | 4 | 2 | 2 | 2 | 2 | 2 | 2 | 3 | 4 | 6 | 5 | 5 |
| Pogoń | 2 | 1 | 2 | 2 | 2 | 2 | 3 | 1 | 1 | 1 | 1 | 1 | 3 | 5 | 3 | 1 | 2 | 1 | 2 | 3 | 3 | 3 | 3 | 3 | 5 | 6 | 6 | 3 | 6 | 6 |
| Jagiellonia | 1 | 6 | 5 | 7 | 3 | 3 | 2 | 4 | 4 | 6 | 8 | 4 | 8 | 7 | 7 | 7 | 9 | 9 | 8 | 9 | 9 | 9 | 9 | 11 | 9 | 8 | 8 | 8 | 7 | 7 |
| Lechia | 11 | 10 | 4 | 6 | 10 | 10 | 10 | 6 | 6 | 3 | 3 | 6 | 7 | 8 | 8 | 8 | 6 | 5 | 6 | 7 | 7 | 6 | 7 | 6 | 7 | 7 | 7 | 7 | 8 | 8 |
| Górnik | 5 | 4 | 10 | 5 | 9 | 7 | 9 | 10 | 10 | 11 | 11 | 12 | 11 | 12 | 12 | 12 | 12 | 12 | 13 | 12 | 12 | 12 | 12 | 12 | 12 | 12 | 11 | 11 | 10 | 9 |
| Raków | 14 | 9 | 12 | 14 | 11 | 11 | 12 | 12 | 13 | 13 | 12 | 11 | 12 | 11 | 11 | 11 | 11 | 11 | 10 | 11 | 11 | 10 | 10 | 9 | 8 | 9 | 9 | 9 | 11 | 10 |
| Zagłębie | 5 | 13 | 13 | 8 | 12 | 12 | 13 | 13 | 12 | 10 | 10 | 10 | 9 | 10 | 10 | 10 | 10 | 10 | 11 | 10 | 10 | 11 | 11 | 10 | 11 | 11 | 10 | 10 | 9 | 11 |
| Wisła Płock | 5 | 15 | 15 | 15 | 16 | 13 | 11 | 11 | 8 | 7 | 4 | 2 | 1 | 4 | 6 | 6 | 7 | 8 | 9 | 8 | 8 | 8 | 8 | 8 | 10 | 10 | 12 | 12 | 12 | 12 |
| Wisła Kraków | 14 | 14 | 11 | 13 | 6 | 9 | 8 | 7 | 11 | 12 | 13 | 13 | 13 | 13 | 16 | 16 | 16 | 16 | 15 | 15 | 15 | 13 | 13 | 13 | 13 | 13 | 13 | 13 | 13 | 13 |
| Korona | 3 | 8 | 7 | 11 | 13 | 14 | 16 | 14 | 15 | 15 | 15 | 16 | 16 | 15 | 14 | 13 | 13 | 14 | 14 | 14 | 13 | 14 | 15 | 15 | 15 | 14 | 14 | 14 | 14 | 14 |
| Arka | 16 | 16 | 16 | 16 | 15 | 16 | 14 | 15 | 14 | 14 | 14 | 14 | 15 | 16 | 13 | 14 | 15 | 13 | 12 | 13 | 14 | 15 | 14 | 14 | 14 | 15 | 15 | 15 | 15 | 15 |
| ŁKS | 11 | 4 | 7 | 11 | 14 | 15 | 15 | 16 | 16 | 16 | 16 | 15 | 14 | 14 | 15 | 15 | 14 | 15 | 16 | 16 | 16 | 16 | 16 | 16 | 16 | 16 | 16 | 16 | 16 | 16 |

### Results

| Home \ Away | ARK | CRA | GÓR | JAG | KOR | LPO | LGD | LEG | ŁKS | PIA | POG | RAK | ŚLĄ | WIS | WPŁ | ZAG |
| Arka Gdynia | — | 0–1 | 1–0 | 0–3 | 1–1 | 0–0 | 2–2 | 0–1 | 1–1 | 0–0 | 1–1 | 3–2 | 2–1 | 0–0 | 1–2 | 2–1 |
| Cracovia | 3–1 | — | 1–1 | 0–1 | 1–0 | 2–1 | 1–0 | 1–2 | 1–2 | 2–0 | 2–0 | 3–0 | 2–0 | 0–2 | 1–1 | 2–0 |
| Górnik Zabrze | 2–0 | 3–2 | — | 3–0 | 3–0 | 1–3 | 2–2 | 2–0 | 1–1 | 1–1 | 3–1 | 1–0 | 0–0 | 4–2 | 2–2 | 1–0 |
| Jagiellonia Białystok | 2–0 | 3–2 | 3–1 | — | 0–0 | 1–1 | 3–0 | 0–0 | 2–0 | 0–2 | 2–3 | 0–1 | 1–0 | 3–2 | 2–2 | 0–1 |
| Korona Kielce | 0–1 | 1–0 | 0–0 | 0–2 | — | 0–3 | 1–2 | 1–2 | 1–0 | 1–2 | 0–1 | 3–0 | 1–0 | 1–1 | 0–1 | 1–0 |
| Lech Poznań | 1–1 | 1–2 | 4–1 | 1–1 | 0–0 | — | 2–0 | 0–1 | 2–0 | 3–0 | 4–0 | 3–0 | 1–3 | 4–0 | 4–0 | 1–2 |
| Lechia Gdańsk | 4–3 | 1–3 | 1–1 | 1–1 | 2–0 | 2–1 | — | 0–2 | 3–1 | 1–0 | 0–1 | 0–3 | 1–1 | 0–0 | 2–0 | 1–2 |
| Legia Warsaw | 5–1 | 2–1 | 5–1 | 4–0 | 4–0 | 2–1 | 1–2 | — | 3–1 | 1–2 | 1–2 | 3–1 | 0–0 | 7–0 | 3–1 | 1–0 |
| ŁKS Łódź | 1–4 | 1–0 | 0–1 | 0–3 | 4–1 | 1–2 | 0–0 | 2–3 | — | 0–1 | 0–0 | 2–0 | 0–1 | 2–4 | 0–0 | 3–2 |
| Piast Gliwice | 1–0 | 1–0 | 0–0 | 3–1 | 1–0 | 1–1 | 1–2 | 2–0 | 2–1 | — | 0–0 | 2–1 | 0–3 | 4–0 | 1–0 | 2–0 |
| Pogoń Szczecin | 2–0 | 1–0 | 1–1 | 1–2 | 0–1 | 1–1 | 1–1 | 3–1 | 1–0 | 1–0 | — | 1–2 | 0–0 | 1–0 | 1–2 | 0–3 |
| Raków Częstochowa | 2–0 | 1–3 | 2–1 | 2–1 | 0–1 | 2–3 | 2–1 | 2–2 | 1–1 | 2–0 | 0–0 | — | 1–0 | 1–0 | 1–2 | 2–1 |
| Śląsk Wrocław | 2–1 | 2–1 | 2–1 | 1–1 | 2–1 | 1–1 | 2–2 | 0–3 | 4–0 | 2–1 | 1–1 | 1–1 | — | 2–1 | 3–1 | 4–4 |
| Wisła Kraków | 0–1 | 0–1 | 1–0 | 3–0 | 2–0 | 1–1 | 0–1 | 1–3 | 4–0 | 1–2 | 1–0 | 3–2 | 0–1 | — | 2–2 | 4–2 |
| Wisła Płock | 4–1 | 0–0 | 1–1 | 3–1 | 1–4 | 0–2 | 1–2 | 1–0 | 2–1 | 2–1 | 2–3 | 0–2 | 1–2 | 2–1 | — | 1–1 |
| Zagłębie Lubin | 2–0 | 1–1 | 2–0 | 2–2 | 1–1 | 3–3 | 4–4 | 2–1 | 3–1 | 0–3 | 0–1 | 2–2 | 3–1 | 0–1 | 5–0 | — |

## Play-offs
### Championship round
#### League table

| Pos | Teamvte | Pld | W | D | L | GF | GA | GD | Pts | Qualification |
| 1 | Legia Warsaw (C) | 37 | 21 | 6 | 10 | 70 | 35 | +35 | 69 | Qualification for the Champions League first qualifying round |
| 2 | Lech Poznań | 37 | 18 | 12 | 7 | 70 | 35 | +35 | 66 | Qualification for the Europa League first qualifying round |
| 3 | Piast Gliwice | 37 | 18 | 7 | 12 | 41 | 32 | +9 | 61 | Qualification for the Europa League first qualifying round |
| 4 | Lechia Gdańsk | 37 | 15 | 11 | 11 | 48 | 50 | −2 | 56 | |
| 5 | Śląsk Wrocław | 37 | 14 | 12 | 11 | 51 | 46 | +5 | 54 | |
| 6 | Pogoń Szczecin | 37 | 14 | 12 | 11 | 37 | 39 | −2 | 54 | |
| 7 | Cracovia | 37 | 16 | 5 | 16 | 49 | 40 | +9 | 53 | Qualification for the Europa League first qualifying round |
| 8 | Jagiellonia Białystok | 37 | 14 | 10 | 13 | 48 | 51 | −3 | 52 | |
* 1 2 Points in regular season: Śląsk Wrocław - 49 pts, Pogoń Szczecin - 45 pts.
* ↑ Cracovia qualified for the Europa League first qualifying round by winning the 2019–20 Polish Cup.

#### Positions by round

| Team ╲ Round | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 |
| Legia | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| Lech | 4 | 3 | 3 | 3 | 3 | 3 | 2 | 2 |
| Piast | 2 | 2 | 2 | 2 | 2 | 2 | 3 | 3 |
| Lechia | 8 | 7 | 5 | 5 | 6 | 6 | 5 | 4 |
| Śląsk | 3 | 4 | 4 | 4 | 4 | 4 | 4 | 5 |
| Pogoń | 6 | 8 | 8 | 8 | 8 | 8 | 8 | 6 |
| Cracovia | 5 | 6 | 7 | 6 | 5 | 5 | 6 | 7 |
| Jagiellonia | 7 | 5 | 6 | 7 | 7 | 7 | 7 | 8 |

#### Results

| Home \ Away | LEG | PIA | ŚLĄ | LPO | CRA | POG | JAG | LGD |
| Legia Warsaw | — | 1–1 | 2–0 | — | 2–0 | 1–2 | — | — |
| Piast Gliwice | — | — | 1–0 | 0–2 | 1–1 | — | 2–0 | — |
| Śląsk Wrocław | — | — | — | 2–2 | 3–2 | 2–2 | — | 1–2 |
| Lech Poznań | 2–1 | — | — | — | — | 0–0 | 4–0 | 3–2 |
| Cracovia | — | — | — | 1–2 | — | 2–1 | 1–2 | — |
| Pogoń Szczecin | — | 1–0 | — | — | — | — | 2–2 | 0–1 |
| Jagiellonia Białystok | 0–0 | — | 2–1 | — | — | — | — | 1–2 |
| Lechia Gdańsk | 0–0 | 1–0 | — | — | 0–3 | — | — | — |

### Relegation round
#### League table

| Pos | Teamvte | Pld | W | D | L | GF | GA | GD | Pts | Qualification |
| 9 | Górnik Zabrze | 37 | 14 | 11 | 12 | 51 | 47 | +4 | 53 | |
| 10 | Raków Częstochowa | 37 | 16 | 5 | 16 | 51 | 56 | −5 | 53 | |
| 11 | Zagłębie Lubin | 37 | 15 | 8 | 14 | 61 | 53 | +8 | 53 | |
| 12 | Wisła Płock | 37 | 14 | 9 | 14 | 45 | 54 | −9 | 51 | |
| 13 | Wisła Kraków | 37 | 13 | 6 | 18 | 44 | 56 | −12 | 45 | |
| 14 | Arka Gdynia (R) | 37 | 10 | 10 | 17 | 39 | 57 | −18 | 40 | Relegation to I liga |
| 15 | Korona Kielce (R) | 37 | 9 | 8 | 20 | 29 | 48 | −19 | 35 | Relegation to I liga |
| 16 | ŁKS Łódź (R) | 37 | 6 | 6 | 25 | 33 | 68 | −35 | 24 | Relegation to I liga |
* 1 2 3 Points in regular season: Górnik Zabrze - 41 pts, Raków Częstochowa - 41 pts, Zagłębie Lubin - 38 pts. Head-to-head away goals in regular season: Górnik Zabrze 1, Raków Częstochowa 0.

#### Positions by round

| Team ╲ Round | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 |
| Górnik | 9 | 9 | 9 | 10 | 10 | 9 | 9 | 9 |
| Raków | 10 | 10 | 10 | 9 | 9 | 10 | 12 | 10 |
| Zagłębie | 11 | 11 | 11 | 11 | 11 | 12 | 11 | 11 |
| Wisła Płock | 12 | 12 | 12 | 12 | 12 | 11 | 10 | 12 |
| Wisła Kraków | 13 | 13 | 13 | 13 | 13 | 13 | 13 | 13 |
| Arka | 15 | 15 | 14 | 14 | 14 | 14 | 14 | 14 |
| Korona | 14 | 14 | 15 | 15 | 15 | 15 | 15 | 15 |
| ŁKS | 16 | 16 | 16 | 16 | 16 | 16 | 16 | 16 |

#### Results

| Home \ Away | GÓR | RAK | ZAG | WPŁ | WIS | KOR | ARK | ŁKS |
| Górnik Zabrze | — | 4–1 | 0–2 | — | 0–1 | 3–2 | — | — |
| Raków Częstochowa | — | — | 1–2 | 2–1 | 3–1 | — | 3–2 | — |
| Zagłębie Lubin | — | — | — | 0–1 | 3–1 | 2–1 | — | 1–0 |
| Wisła Płock | 1–0 | — | — | — | — | 3–1 | 0–0 | 2–0 |
| Wisła Kraków | — | — | — | 1–0 | — | 1–1 | 0–1 | — |
| Korona Kielce | — | 0–1 | — | — | — | — | 1–1 | 2–0 |
| Arka Gdynia | 1–2 | — | 3–2 | — | — | — | — | 3–2 |
| ŁKS Łódź | 1–3 | 3–2 | — | — | 1–2 | — | — | — |

## Season statistics
### Hat-tricks

| Player | For | Against | Result | Date |
| Jesús Imaz | Jagiellonia Białystok | Wisła Kraków | 3–2 (H) | 23 August 2019 |
| Jarosław Niezgoda | Legia Warsaw | Raków Częstochowa | 3–1 (H) | 1 September 2019 |
| Erik Expósito | Śląsk Wrocław | Zagłębie Lubin | 4–4 (H) | 21 September 2019 |
| Rafał Kujawa | ŁKS Łódź | Korona Kielce | 4–1 (H) | 6 October 2019 |
| José Kanté | Legia Warsaw | Wisła Kraków | 7–0 (H) | 27 October 2019 |
| Flávio Paixão | Lechia Gdańsk | Arka Gdynia | 4–3 (H) | 31 May 2020 |
| Christian Gytkjær | Lech Poznań | Korona Kielce | 3–0 (A) | 15 June 2020 |

### Individual statistics

* Youngest footballer this season: Kacper Urbański 15 years, 105 days
* Oldest footballer this season: Marcin Wasilewski 40 years, 39 days
* Youngest goal scorer this season: Iwo Kaczmarski 16 years, 93 days
* Oldest goal scorer this season: Ľubomír Guldan 37 years, 156 days

## Attendances
### Before COVID-19 pandemic (after 26th round)

| Pos | Team | Total | High | Low | Average | Change |
| 1 | Legia Warsaw | 265,763 | 25,401 | 13,285 | 18,983 | +7.8%$^†$ |
| 2 | Wisła Kraków | 206,322 | 33,000 | 10,076 | 15,870 | −0.6%$^†$ |
| 3 | Lech Poznań | 194,234 | 32,307 | 7,641 | 14,941 | +25.0%$^†$ |
| 4 | Śląsk Wrocław | 174,728 | 31,819 | 0 | 13,440 | +48.3%$^†$ |
| 5 | Górnik Zabrze | 171,175 | 18,573 | 8,201 | 13,167 | −0.3%$^†$ |
| 6 | Lechia Gdańsk | 139,138 | 14,008 | 7,021 | 10,702 | −27.4%$^†$ |
| 7 | Jagiellonia Białystok | 119,984 | 19,308 | 4,511 | 9,229 | −2.4%$^†$ |
| 8 | Cracovia | 117,901 | 14,154 | 6,586 | 9,069 | +30.3%$^†$ |
| 9 | Arka Gdynia | 91,479 | 13,011 | 3,820 | 7,036 | +0.2%$^†$ |
| 10 | Korona Kielce | 68,841 | 11,692 | 3,271 | 5,295 | −20.3%$^†$ |
| 11 | ŁKS Łódź | 67,158 | 5,451 | 4,712 | 5,166 | +13.3%$^1$ |
| 12 | Wisła Płock | 58,786 | 7,419 | 1,714 | 4,522 | +4.3%$^†$ |
| 13 | Piast Gliwice | 57,127 | 6,813 | 3,363 | 4,394 | −11.7%$^†$ |
| 14 | Zagłębie Lubin | 53,515 | 6,063 | 2,212 | 4,116 | −15.4%$^†$ |
| 15 | Pogoń Szczecin | 44,389 | 3,947 | 2,895 | 3,699 | −42.8%$^†$ |
| 16 | Raków Częstochowa | 38,661 | 4,153 | 2,011 | 2,973 | +4.3%$^1$ |
| | League total | 1,869,201 | 33,000 | 0 | 8,987 | +2.0%$^†$ |
Updated to games played on 9 March 2020. Source: Ekstraklasa (in Polish) Notes: 1. Team played last season in I liga.

### Total attendances

| Pos | Team | Total | High | Low | Average | Change |
| 1 | Legia Warsaw | 267,283 | 25,401 | 0 | 14,849 | −15.7%$^†$ |
| 2 | Wisła Kraków | 219,454 | 33,000 | 0 | 13,716 | −14.1%$^†$ |
| 3 | Lech Poznań | 222,429 | 32,307 | 0 | 13,084 | +9.5%$^†$ |
| 4 | Śląsk Wrocław | 197,316 | 31,819 | 0 | 12,332 | +36.0%$^†$ |
| 5 | Górnik Zabrze | 187,702 | 18,573 | 0 | 11,041 | −16.4%$^†$ |
| 6 | Lechia Gdańsk | 153,620 | 14,008 | 0 | 9,601 | −34.9%$^†$ |
| 7 | Jagiellonia Białystok | 129,801 | 19,308 | 0 | 8,113 | −14.2%$^†$ |
| 8 | Cracovia | 126,804 | 14,154 | 0 | 7,925 | +13.9%$^†$ |
| 9 | Arka Gdynia | 96,422 | 13,011 | 0 | 6,026 | −14.2%$^†$ |
| 10 | Korona Kielce | 72,742 | 11,692 | 0 | 4,546 | −31.6%$^†$ |
| 11 | ŁKS Łódź | 70,082 | 5,451 | 0 | 4,380 | −3.9%$^1$ |
| 12 | Piast Gliwice | 63,191 | 6,813 | 0 | 3,717 | −25.3%$^†$ |
| 13 | Wisła Płock | 61,549 | 7,419 | 0 | 3,621 | −16.5%$^†$ |
| 14 | Zagłębie Lubin | 57,634 | 6,063 | 0 | 3,390 | −30.4%$^†$ |
| 15 | Pogoń Szczecin | 47,194 | 3,947 | 0 | 3,146 | −51.3%$^†$ |
| 16 | Raków Częstochowa | 41,681 | 4,153 | 0 | 2,452 | −14.0%$^1$ |
| | League total | 2,014,904 | 33,000 | 0 | 6,807 | −22.7%$^†$ |
Updated to games played on 19 July 2020. Source: Ekstraklasa (in Polish) Notes: 1. Team played last season in I liga.

## Awards
### Annual awards

| Award | Player | Club |
| Goalkeeper of the Season | Dušan Kuciak | Lechia Gdańsk |
| Defender of the Season | Artur Jędrzejczyk | Legia Warsaw |
| Midfielder of the Season | Domagoj Antolić | Legia Warsaw |
| Forward of the Season | Christian Gytkjær | Lech Poznań |
| Coach of the Season | Aleksandar Vuković | Legia Warsaw |
| Young Player of the Season | Michał Karbownik | Legia Warsaw |
| Player of the Season | Jorge Félix | Piast Gliwice |
| Top Scorer of the Season | Christian Gytkjær | Lech Poznań |