# 2020–21 Serie B

The 2020–21 Serie B (known as the Serie BKT for sponsorship reasons) was the 89th season of the Serie B since its establishment in 1929. It started on 25 September 2020 and ended on 10 May 2021.
On 5 November 2020, Serie B announced it would use VAR from the second half of the season. However, it was used only on promotion play-off matches. DAZN broadcast all matches live domestically, with MyCujoo further distributing games in 15 countries.

## Changes

The following teams have changed division since the 2019–20 season:

## Teams
### Stadiums and locations

| Team | Home city | Stadium | Capacity | 2019–20 season |
| Ascoli | Ascoli Piceno | Stadio Cino e Lillo Del Duca | 11,326 | 14th in Serie B |
| Brescia | Brescia | Stadio Mario Rigamonti | 19,550 | 19th in Serie A |
| Chievo | Verona | Stadio Marc'Antonio Bentegodi | 31,045 | 6th in Serie B |
| Cittadella | Cittadella (Padua) | Stadio Pier Cesare Tombolato | 7,623 | 5th in Serie B |
| Cosenza | Cosenza | Stadio San Vito-Gigi Marulla | 20,987 | 15th in Serie B |
| Cremonese | Cremona | Stadio Giovanni Zini | 16,003 | 12th in Serie B |
| Empoli | Empoli (Florence) | Stadio Carlo Castellani | 16,284 | 7th in Serie B |
| Frosinone | Frosinone | Stadio Benito Stirpe | 16,227 | 8th in Serie B |
| Lecce | Lecce | Stadio Via del Mare | 31,533 | 18th in Serie A |
| Monza | Monza | Stadio Brianteo | 10,000 | Serie C Group A Champions |
| Pescara | Pescara | Stadio Adriatico – Giovanni Cornacchia | 20,515 | 17th in Serie B |
| Pisa | Pisa | Arena Garibaldi – Romeo Anconetani | 10,000 | 9th in Serie B |
| Pordenone | Pordenone | Stadio Guido Teghil (Lignano Sabbiadoro) | 5,000 | 4th in Serie B |
| Reggiana | Reggio Emilia | Mapei Stadium – Città del Tricolore | 21,525 | 2nd in Serie C Group B, play-off winner |
| Reggina | Reggio Calabria | Stadio Oreste Granillo | 27,543 | Serie C Group C Champions |
| Salernitana | Salerno | Stadio Arechi | 37,000 | 10th in Serie B |
| SPAL | Ferrara | Stadio Paolo Mazza | 16,134 | 20th in Serie A |
| Venezia | Venice | Stadio Pier Luigi Penzo | 7,371 | 11th in Serie B |
| Vicenza | Vicenza | Stadio Romeo Menti | 13,173 | Serie C Group B Champions |
| Virtus Entella | Chiavari (Genoa) | Comunale Aldo Gastaldi | 5,500 | 13th in Serie B |

### Personnel and kits

| Team | President | Manager | Captain | Kit manufacturer | Shirt sponsor (front) | Shirt sponsor (back) | Shirt sponsor (sleeve) | Shorts sponsor |
| Ascoli | Carlo Neri | Andrea Sottil | Riccardo Brosco | Nike | Fainplast, Bricofer | Bricofer | Ecotel Italia | Sky Network/Gruppo Boero |
| Brescia | Massimo Cellino | Pep Clotet | Dimitri Bisoli | Kappa | UBI Banca | Officine Meccaniche Rezzatesi | None | None |
| Chievo | Luca Campedelli | Alfredo Aglietti | Filip Đorđević | Givova | Mitsubishi Motors/Paluani, Coati Salumi | Nobis Assicurazioni | Avelia | Vicentini Carni |
| Cittadella | Andrea Gabrielli | Roberto Venturato | Manuel Iori | Mizuno | Sirmax, Gabrielli | Gavinox (H)/Quartzforms (A) | OCSA | Metalservice |
| Cosenza | Eugenio Guarascio | Roberto Occhiuzzi | Angelo Corsi | Legea | Quattropuntozero, Concessionaria Carlomagno | None | La Valle Viaggi | None |
| Cremonese | Paolo Rossi | Fabio Pecchia | Emanuele Terranova | Acerbis | Ilta Inox (H)/Arinox (A), Arvedi | Fattorie Cremona | Arvedi Tubi Acciaio | None |
| Empoli | Fabrizio Corsi | Alessio Dionisi | Simone Romagnoli | Kappa | Computer Gross, Sammontana (H)/Logli Massimo (A) | Pediatrica | Inpa | ChiantiBanca |
| Frosinone | Maurizio Stirpe | Alessandro Nesta | Nicolò Brighenti | Zeus | Banca Popolare del Frusinate | Acea | Polsinelli Enologia | None |
| Lecce | Saverio Sticchi Damiani | Eugenio Corini | Marco Mancosu | M908 | Links Management & Technology, Pasta Maffei | Barocco SpA | Banca Popolare Pugliese | Asfalti Isolbit |
| Monza | Paolo Berlusconi | Cristian Brocchi | Andrea D'Errico | Lotto | WithU, U-Power | Febal Casa | Pontenossa | Dell'Orto |
| Pescara | Daniele Sebastiani | Gianluca Grassadonia | Vincenzo Fiorillo | Erreà | Contrader, TecnoRex | Liofilchem | Industria Vernici e Colori | Pharmapiù Sport |
| Pisa | Giuseppe Corrado | Luca D'Angelo | Robert Gucher | Adidas | Cetilar, Synlab | Hi-Turf Solution | Despe | Mercedes-Benz Palumbo Auto |
| Pordenone | Mauro Lovisa | Maurizio Domizzi | Mirko Stefani | Joma | Omega Group, Assiteca (H)/6sicuro (A) | Lignano Sabbiadoro | Alea Office | CRO Area Giovani |
| Reggiana | Luca Quintavalli | Massimiliano Alvini | Paolo Rozzio | Macron | Immergas, Conad (H)/Tutto per l'Imballo (A)/Safim Architettura | Alfa Romeo Autostile | Righi Food | Azimut Investments |
| Reggina | Luca Gallo | Marco Baroni | Giuseppe Loiacono | Macron | Bencivenni Gruppo Volkswagen, Puliservice Frontale | Multi Service 5D | Caffè Mauro | D. Caracciolo & figli |
| Salernitana | Marco Mezzaroma & Claudio Lotito | Fabrizio Castori | Francesco Di Tacchio | Zeus | Meda Supermercati/Real Sud EqualQuality/BCC Aquara/Centri Verrengia/Check-Up Centro Polidiagnostico/Real Sud/Gruppo Noviello/Ethos Grafica/San Matteo New York/Smyb Business Logistics, Gruppo Noviello | New Energy Gas e Luce | Real Sud | Obiettivo Ristrutturare/Ethos Grafica/BTL Industries |
| SPAL | Walter Mattioli | Massimo Rastelli | Sergio Floccari | Macron | Adamant BioNRG, Omega Group | Errebi Technology | Pentaferte | None |
| Venezia | Duncan L. Niederauer | Paolo Zanetti | Marco Modolo | Nike | Fluorsid | IBSA Group | Don Peppe | Stevanato Prodotti e Lavori Speciali |
| Vicenza | Renzo Rosso | Domenico Di Carlo | Stefano Giacomelli | Lotto | Diesel, Aon (H)/Sergio Bassan John Deere (A) | Protek (H)/Famila (A) | Legor (H) | Zanutta (H) |
| Virtus Entella | Antonio Gozzi | Vincenzo Vivarini | Luca Nizzetto | Adidas | Duferco Energia | None | None | Kia Gecar |

### Managerial changes

| Team | Outgoing manager | Manner of departure | Date of vacancy | Position in table | Replaced by | Date of appointment |
| Salernitana | Gian Piero Ventura | End of contract | 1 August 2020 | Pre-season | Fabrizio Castori | 10 August 2020 |
| Pescara | Andrea Sottil | End of contract | 1 August 2020 | Pre-season | Massimo Oddo | 29 August 2020 |
| SPAL | Luigi Di Biagio | End of contract | 2 August 2020 | Pre-season | Pasquale Marino | 12 August 2020 |
| Venezia | Alessio Dionisi | Mutual consent | 10 August 2020 | Pre-season | Paolo Zanetti | 14 August 2020 |
| Empoli | Pasquale Marino | Mutual consent | 11 August 2020 | Pre-season | Alessio Dionisi | 19 August 2020 |
| Virtus Entella | Roberto Boscaglia | Resigned | 14 August 2020 | Pre-season | Bruno Tedino | 17 August 2020 |
| Lecce | Fabio Liverani | Sacked | 19 August 2020 | Pre-season | Eugenio Corini | 22 August 2020 |
| Brescia | Diego López | Mutual consent | 20 August 2020 | Pre-season | Luigi Delneri | 4 September 2020 |
| Ascoli | Davide Dionigi | Sacked | 24 August 2020 | Pre-season | Valerio Bertotto | 25 August 2020 |
| Brescia | Luigi Delneri | Sacked | 6 October 2020 | 20th | Diego López | 6 October 2020 |
| Virtus Entella | Bruno Tedino | Sacked | 23 November 2020 | 18th | Vincenzo Vivarini | 25 November 2020 |
| Ascoli | Valerio Bertotto | Sacked | 29 November 2020 | 17th | Delio Rossi | 29 November 2020 |
| Pescara | Massimo Oddo | Sacked | 29 November 2020 | 20th | Roberto Breda | 29 November 2020 |
| Brescia | Diego López | Sacked | 7 December 2020 | 12th | Daniele Gastaldello (caretaker) | 7 December 2020 |
| Brescia | Daniele Gastaldello | End of caretaker spell | 10 December 2020 | 11th | Davide Dionigi | 10 December 2020 |
| Reggina | Domenico Toscano | Sacked | 14 December 2020 | 15th | Marco Baroni | 15 December 2020 |
| Ascoli | Delio Rossi | Sacked | 22 December 2020 | 19th | Andrea Sottil | 23 December 2020 |
| Cremonese | Pierpaolo Bisoli | Sacked | 7 January 2021 | 16th | Fabio Pecchia | 7 January 2021 |
| Brescia | Davide Dionigi | Sacked | 3 February 2021 | 13th | Pep Clotet | 5 February 2021 |
| Pescara | Roberto Breda | Sacked | 14 February 2021 | 20th | Gianluca Grassadonia | 14 February 2021 |
| SPAL | Pasquale Marino | Sacked | 16 March 2021 | 8th | Massimo Rastelli | 16 March 2021 |
| Frosinone | Alessandro Nesta | Sacked | 22 March 2021 | 12th | Fabio Grosso | 23 March 2021 |
| Pordenone | Attilio Tesser | Sacked | 3 April 2021 | 15th | Maurizio Domizzi | 3 April 2021 |
| Virtus Entella | Vincenzo Vivarini | Sacked | 12 April 2021 | 20th | Gennaro Volpe | 12 April 2021 |

## League table

| Pos | Teamvte | Pld | W | D | L | GF | GA | GD | Pts | Promotion, qualification or relegation |
| 1 | Empoli (C, P) | 38 | 19 | 16 | 3 | 68 | 35 | +33 | 73 | Promotion to Serie A |
| 2 | Salernitana (P) | 38 | 19 | 12 | 7 | 46 | 34 | +12 | 69 | Promotion to Serie A |
| 3 | Monza | 38 | 17 | 13 | 8 | 51 | 33 | +18 | 64 | Qualification for promotion play-offs semi-finals |
| 4 | Lecce | 38 | 16 | 14 | 8 | 68 | 47 | +21 | 62 | Qualification for promotion play-offs semi-finals |
| 5 | Venezia (O, P) | 38 | 15 | 14 | 9 | 53 | 39 | +14 | 59 | Qualification for promotion play-offs preliminary round |
| 6 | Cittadella | 38 | 15 | 12 | 11 | 48 | 35 | +13 | 57 | Qualification for promotion play-offs preliminary round |
| 7 | Brescia | 38 | 15 | 11 | 12 | 61 | 53 | +8 | 56 | Qualification for promotion play-offs preliminary round |
| 8 | Chievo (R, D, R, R) | 38 | 14 | 14 | 10 | 50 | 37 | +13 | 56 | Bankruptcy |
| 9 | SPAL | 38 | 14 | 14 | 10 | 44 | 42 | +2 | 56 | |
| 10 | Frosinone | 38 | 12 | 14 | 12 | 38 | 42 | −4 | 50 | |
| 11 | Reggina | 38 | 12 | 14 | 12 | 42 | 45 | −3 | 50 | |
| 12 | Vicenza | 38 | 11 | 15 | 12 | 48 | 53 | −5 | 48 | |
| 13 | Cremonese | 38 | 12 | 12 | 14 | 46 | 44 | +2 | 48 | |
| 14 | Pisa | 38 | 11 | 15 | 12 | 54 | 59 | −5 | 48 | |
| 15 | Pordenone | 38 | 10 | 15 | 13 | 40 | 39 | +1 | 45 | |
| 16 | Ascoli | 38 | 11 | 11 | 16 | 37 | 48 | −11 | 44 | |
| 17 | Cosenza (T) | 38 | 6 | 17 | 15 | 29 | 47 | −18 | 35 | Spared from relegation |
| 18 | Reggiana (R) | 38 | 9 | 7 | 22 | 31 | 57 | −26 | 34 | Relegation to Serie C |
| 19 | Pescara (R) | 38 | 7 | 11 | 20 | 29 | 60 | −31 | 32 | Relegation to Serie C |
| 20 | Virtus Entella (R) | 38 | 4 | 11 | 23 | 30 | 64 | −34 | 23 | Relegation to Serie C |
* 1 2 3 Head-to-head points: Brescia 9, Chievo 5, SPAL 2.
* 1 2 Frosinone finished ahead of Reggina on head-to-head points: Frosinone 1–1 Reggina, Reggina 0–4 Frosinone.
* 1 2 3 Head-to-head points: Vicenza 8, Cremonese 4, Pisa 3.
* 1 2 Since the 16th-placed team Ascoli finished more than 4 points ahead of the 17th-placed team Cosenza, the relegation play-out was not played and Cosenza were originally relegated directly. However, Cosenza was ultimately spared from relegation following Chievo's bankruptcy and subsequent dissolution.

### Positions by round

The table lists the positions of teams after each week of matches. In order to preserve chronological evolvements, any postponed matches are not included to the round at which they were originally scheduled, but added to the full round they were played immediately afterwards.
| 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 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 |
| Empoli | 2 | 4 | 3 | 2 | 1 | 1 | 1 | 1 | 3 | 4 | 2 | 1 | 1 | 2 | 2 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| Salernitana | 9 | 6 | 2 | 3 | 2 | 4 | 7 | 2 | 1 | 1 | 1 | 2 | 2 | 1 | 1 | 2 | 2 | 5 | 3 | 4 | 4 | 4 | 5 | 3 | 3 | 4 | 3 | 3 | 4 | 3 | 4 | 3 | 3 | 3 | 3 | 2 | 2 | 2 |
| Monza | 13 | 13 | 14 | 13 | 15 | 11 | 9 | 9 | 9 | 9 | 9 | 8 | 8 | 6 | 4 | 3 | 4 | 4 | 2 | 2 | 2 | 3 | 3 | 2 | 2 | 3 | 2 | 2 | 2 | 4 | 3 | 4 | 5 | 4 | 4 | 4 | 3 | 3 |
| Lecce | 12 | 5 | 9 | 8 | 9 | 8 | 5 | 3 | 2 | 3 | 4 | 5 | 7 | 8 | 7 | 6 | 6 | 6 | 7 | 7 | 7 | 8 | 8 | 7 | 6 | 6 | 5 | 4 | 3 | 2 | 2 | 2 | 2 | 2 | 2 | 3 | 4 | 4 |
| Venezia | 3 | 8 | 10 | 4 | 6 | 6 | 3 | 5 | 5 | 6 | 6 | 6 | 6 | 7 | 8 | 8 | 7 | 10 | 9 | 9 | 9 | 7 | 6 | 4 | 4 | 2 | 4 | 5 | 5 | 5 | 5 | 5 | 4 | 5 | 5 | 5 | 5 | 5 |
| Cittadella | 1 | 1 | 1 | 1 | 3 | 5 | 8 | 8 | 7 | 7 | 7 | 7 | 4 | 3 | 3 | 4 | 3 | 2 | 4 | 5 | 5 | 5 | 4 | 6 | 5 | 7 | 7 | 6 | 6 | 6 | 8 | 7 | 8 | 8 | 6 | 6 | 6 | 6 |
| Brescia | 7 | 20 | 7 | 11 | 12 | 12 | 10 | 10 | 11 | 12 | 11 | 11 | 10 | 10 | 11 | 11 | 11 | 13 | 13 | 13 | 13 | 14 | 13 | 16 | 16 | 14 | 14 | 12 | 10 | 10 | 9 | 9 | 9 | 10 | 10 | 8 | 8 | 7 |
| Chievo | 10 | 14 | 8 | 5 | 5 | 2 | 2 | 6 | 8 | 8 | 8 | 9 | 9 | 9 | 9 | 9 | 9 | 7 | 6 | 3 | 3 | 2 | 2 | 5 | 7 | 5 | 6 | 7 | 7 | 8 | 7 | 8 | 7 | 7 | 8 | 7 | 7 | 8 |
| SPAL | 16 | 12 | 12 | 14 | 8 | 7 | 6 | 4 | 4 | 2 | 3 | 4 | 5 | 4 | 5 | 5 | 5 | 3 | 5 | 6 | 6 | 6 | 7 | 8 | 8 | 8 | 8 | 8 | 8 | 7 | 6 | 6 | 6 | 6 | 7 | 9 | 9 | 9 |
| Frosinone | 20 | 7 | 4 | 6 | 4 | 3 | 4 | 7 | 6 | 5 | 5 | 3 | 3 | 5 | 6 | 7 | 8 | 9 | 10 | 10 | 10 | 10 | 10 | 9 | 10 | 10 | 10 | 10 | 11 | 12 | 13 | 14 | 14 | 14 | 14 | 11 | 12 | 10 |
| Reggina | 8 | 3 | 5 | 7 | 7 | 9 | 13 | 13 | 15 | 13 | 15 | 16 | 18 | 18 | 17 | 13 | 14 | 15 | 15 | 16 | 16 | 13 | 14 | 12 | 12 | 12 | 12 | 11 | 12 | 13 | 12 | 11 | 10 | 9 | 9 | 10 | 10 | 11 |
| Vicenza | 18 | 15 | 18 | 19 | 19 | 18 | 14 | 16 | 12 | 15 | 14 | 14 | 13 | 13 | 13 | 14 | 13 | 12 | 12 | 12 | 12 | 12 | 12 | 14 | 15 | 13 | 11 | 13 | 13 | 11 | 10 | 10 | 12 | 13 | 12 | 14 | 14 | 12 |
| Cremonese | 19 | 17 | 15 | 16 | 16 | 19 | 20 | 20 | 19 | 17 | 17 | 17 | 16 | 14 | 14 | 16 | 17 | 14 | 14 | 15 | 15 | 15 | 17 | 15 | 13 | 15 | 15 | 15 | 14 | 14 | 14 | 13 | 11 | 11 | 11 | 12 | 11 | 13 |
| Pisa | 4 | 9 | 17 | 18 | 18 | 17 | 17 | 14 | 16 | 14 | 13 | 13 | 12 | 11 | 10 | 12 | 12 | 11 | 11 | 11 | 11 | 11 | 11 | 10 | 9 | 9 | 9 | 9 | 9 | 9 | 11 | 12 | 13 | 12 | 13 | 13 | 13 | 14 |
| Pordenone | 15 | 11 | 11 | 15 | 13 | 10 | 11 | 11 | 10 | 10 | 12 | 12 | 11 | 12 | 12 | 10 | 10 | 8 | 8 | 8 | 8 | 9 | 9 | 11 | 11 | 11 | 13 | 14 | 15 | 15 | 15 | 15 | 15 | 15 | 15 | 15 | 16 | 15 |
| Ascoli | 6 | 16 | 20 | 12 | 14 | 16 | 16 | 17 | 17 | 19 | 19 | 19 | 19 | 19 | 19 | 20 | 20 | 20 | 20 | 18 | 18 | 17 | 18 | 18 | 18 | 19 | 18 | 18 | 18 | 18 | 18 | 17 | 16 | 16 | 16 | 16 | 15 | 16 |
| Cosenza | 11 | 10 | 13 | 10 | 10 | 13 | 15 | 12 | 13 | 16 | 16 | 15 | 15 | 16 | 16 | 15 | 16 | 16 | 17 | 14 | 14 | 16 | 16 | 17 | 17 | 17 | 17 | 17 | 17 | 16 | 16 | 16 | 17 | 17 | 17 | 17 | 17 | 17 |
| Reggiana | 5 | 2 | 6 | 9 | 11 | 14 | 12 | 15 | 14 | 11 | 10 | 10 | 14 | 15 | 15 | 17 | 18 | 18 | 16 | 17 | 17 | 18 | 15 | 13 | 14 | 16 | 16 | 16 | 16 | 17 | 17 | 18 | 18 | 18 | 18 | 18 | 18 | 18 |
| Pescara | 14 | 18 | 19 | 20 | 20 | 20 | 19 | 19 | 20 | 18 | 18 | 18 | 17 | 17 | 18 | 18 | 15 | 17 | 19 | 20 | 20 | 20 | 20 | 19 | 19 | 18 | 19 | 19 | 19 | 19 | 19 | 19 | 19 | 19 | 19 | 19 | 19 | 19 |
| Virtus Entella | 17 | 19 | 16 | 17 | 17 | 15 | 18 | 18 | 18 | 20 | 20 | 20 | 20 | 20 | 20 | 19 | 19 | 19 | 18 | 19 | 19 | 19 | 19 | 20 | 20 | 20 | 20 | 20 | 20 | 20 | 20 | 20 | 20 | 20 | 20 | 20 | 20 | 20 |
* Champions, promotion to Serie A
* Promotion to Serie A
* Play-off semifinals
* Play-off preliminary round
* Relegation to Serie C

## Results

| Home \ Away | ASC | BRE | CHI | CIT | COS | CRE | EMP | FRO | LEC | MON | PES | PIS | POR | RGA | RGI | SAL | SPA | VEN | VIC | ENT |
| Ascoli | — | 2–1 | 0–0 | 2–0 | 0–3 | 0–0 | 2–0 | 1–1 | 0–2 | 1–0 | 0–2 | 0–2 | 0–1 | 2–1 | 2–1 | 0–2 | 2–0 | 1–1 | 2–1 | 1–1 |
| Brescia | 1–1 | — | 1–0 | 3–3 | 2–0 | 1–2 | 1–3 | 1–2 | 3–0 | 0–1 | 1–1 | 4–3 | 4–1 | 3–1 | 1–0 | 3–1 | 3–1 | 2–2 | 0–3 | 2–2 |
| Chievo | 3–0 | 1–0 | — | 2–1 | 2–0 | 1–1 | 1–1 | 0–0 | 1–2 | 0–1 | 3–1 | 2–0 | 3–0 | 1–0 | 3–0 | 1–2 | 1–1 | 1–1 | 1–2 | 2–1 |
| Cittadella | 1–0 | 3–0 | 1–0 | — | 1–1 | 1–1 | 2–2 | 1–0 | 2–2 | 1–2 | 0–1 | 2–0 | 2–0 | 0–3 | 1–1 | 0–0 | 2–0 | 1–1 | 3–0 | 1–0 |
| Cosenza | 2–1 | 1–2 | 1–0 | 1–1 | — | 0–1 | 0–2 | 1–2 | 1–1 | 0–3 | 3–0 | 1–1 | 0–0 | 0–1 | 2–2 | 0–1 | 1–1 | 0–0 | 1–1 | 0–0 |
| Cremonese | 3–3 | 2–2 | 0–2 | 0–2 | 1–0 | — | 2–2 | 4–0 | 1–2 | 0–2 | 3–0 | 2–1 | 2–1 | 3–0 | 1–1 | 0–1 | 1–1 | 0–0 | 0–1 | 2–1 |
| Empoli | 1–1 | 4–2 | 2–2 | 1–1 | 4–0 | 1–0 | — | 3–1 | 2–1 | 0–0 | 2–2 | 3–1 | 1–0 | 0–0 | 3–0 | 5–0 | 2–1 | 1–1 | 2–2 | 1–0 |
| Frosinone | 1–0 | 0–1 | 3–2 | 1–1 | 0–2 | 1–0 | 0–2 | — | 0–3 | 2–2 | 0–0 | 3–1 | 1–1 | 0–0 | 1–1 | 0–0 | 1–2 | 1–2 | 1–1 | 0–0 |
| Lecce | 1–2 | 2–2 | 4–2 | 1–3 | 3–1 | 2–2 | 2–2 | 2–2 | — | 0–0 | 3–1 | 0–3 | 0–0 | 7–1 | 2–2 | 2–0 | 1–2 | 2–2 | 2–1 | 0–0 |
| Monza | 2–0 | 0–2 | 1–2 | 0–0 | 2–2 | 2–1 | 1–1 | 2–0 | 1–0 | — | 1–1 | 0–2 | 2–0 | 2–0 | 1–0 | 3–0 | 0–0 | 1–4 | 1–1 | 5–0 |
| Pescara | 2–3 | 1–1 | 0–0 | 3–1 | 0–0 | 0–2 | 1–2 | 0–2 | 1–1 | 3–2 | — | 3–1 | 0–2 | 1–0 | 0–2 | 0–3 | 0–1 | 0–2 | 2–3 | 1–1 |
| Pisa | 2–1 | 1–0 | 2–2 | 1–4 | 3–0 | 1–1 | 1–1 | 0–0 | 0–1 | 1–1 | 0–0 | — | 1–0 | 1–0 | 0–0 | 2–2 | 3–0 | 2–2 | 2–2 | 3–2 |
| Pordenone | 1–1 | 1–1 | 1–1 | 0–1 | 2–0 | 1–2 | 0–0 | 2–0 | 1–1 | 1–1 | 0–0 | 2–2 | — | 3–0 | 2–2 | 1–2 | 3–3 | 2–0 | 1–2 | 3–0 |
| Reggiana | 1–0 | 2–2 | 0–1 | 0–2 | 1–1 | 1–1 | 0–1 | 1–2 | 0–4 | 3–0 | 0–1 | 2–2 | 1–0 | — | 0–1 | 0–0 | 1–2 | 2–1 | 2–1 | 2–1 |
| Reggina | 2–2 | 2–1 | 1–1 | 1–3 | 0–0 | 1–0 | 0–3 | 0–4 | 0–1 | 1–0 | 3–1 | 1–2 | 1–0 | 2–1 | — | 0–0 | 0–1 | 1–2 | 3–0 | 1–0 |
| Salernitana | 1–0 | 1–0 | 1–1 | 1–0 | 0–0 | 2–1 | 2–0 | 1–0 | 1–1 | 1–3 | 2–0 | 4–1 | 0–2 | 3–0 | 1–1 | — | 0–0 | 2–1 | 1–1 | 2–1 |
| SPAL | 1–2 | 2–3 | 0–0 | 1–0 | 1–1 | 1–0 | 1–1 | 0–1 | 1–0 | 1–1 | 2–0 | 4–0 | 1–3 | 2–0 | 1–4 | 2–0 | — | 1–1 | 3–2 | 0–0 |
| Venezia | 2–1 | 0–1 | 3–1 | 1–0 | 3–0 | 3–1 | 2–0 | 0–2 | 2–3 | 0–2 | 4–0 | 1–1 | 0–0 | 2–1 | 0–2 | 1–2 | 0–0 | — | 1–0 | 3–2 |
| Vicenza | 2–1 | 0–3 | 1–1 | 1–0 | 1–1 | 3–1 | 0–2 | 0–0 | 1–2 | 1–2 | 1–0 | 4–4 | 1–1 | 2–1 | 1–1 | 1–1 | 2–2 | 0–0 | — | 0–1 |
| Virtus Entella | 0–0 | 1–1 | 1–3 | 1–0 | 1–2 | 0–2 | 2–5 | 2–3 | 1–5 | 1–1 | 3–0 | 2–1 | 0–1 | 0–2 | 1–1 | 0–3 | 0–1 | 0–2 | 1–2 | — |

## Promotion play-offs

Rules:
* Preliminary round: the higher-placed team plays at home. If teams are tied after regular time, extra-time is played. If scores are still level, the higher-placed team advances;
* Semi-finals: the higher-placed team plays at home for second leg. If teams are tied on aggregate, the higher-placed team advances;
* Final: the higher-placed team plays at home for second leg. If teams are tied on aggregate, the higher-placed team is promoted to Serie A, unless the teams finished tied on points after regular season, in which case winner is decided by extra-time and a penalty shootout if necessary.
| Preliminary round | Preliminary round | Preliminary round | Semi-finals | Semi-finals | Semi-finals | Semi-finals | Semi-finals | Final | Final | Final | Final | Final |
| | | | 6 | Cittadella | 3 | 0 | 3 | | | | | |
| 6 | Cittadella | 1 | 3 | Monza | 0 | 2 | 2 | | | | | |
| 7 | Brescia | 0 | | | | | | 6 | Cittadella | 0 | 1 | 1 |
| | | | | | | | | 5 | Venezia | 1 | 1 | 2 |
| | | | 5 | Venezia | 1 | 1 | 2 | | | | | |
| 5 | Venezia (a.e.t.) | 3 | 4 | Lecce | 0 | 1 | 1 | | | | | |
| 8 | Chievo | 2 | | | | | | | | | | |

### Final
#### First leg
#### Second leg
## Relegation play-out

The relegation play-out was not played because the 16th-placed team Ascoli finished more than 4 points ahead of 17th-placed team Cosenza, then they were relegated directly to Serie C. Cosenza was later readmitted to replace the excluded Chievo.

## Season statistics
### Top goalscorers

| Rank | Player | Club | Goals |
| 1 | Massimo Coda | Lecce | 22 |
| 2 | Leonardo Mancuso | Empoli | 20 |
| 3 | Florian Ayé | Brescia | 16 |
| 4 | Francesco Forte$^1$ | Venezia | 15 |
| 5 | Michele Marconi | Pisa | 13 |
| 5 | Gennaro Tutino | Salernitana | 13 |
| 7 | Riad Bajić | Ascoli | 12 |
| 8 | Daniel Ciofani | Cremonese | 11 |
| 8 | Davide Diaw | Pordenone (10) Monza (1) | 11 |
| 8 | Andrea La Mantia | Empoli | 11 |
| 8 | Riccardo Meggiorini | Vicenza | 11 |
| 8 | Andrija Novakovich | Frosinone | 11 |
| 8 | Mattia Valoti | SPAL | 11 |

#### Note

$^1$ Player scored 1 goal in the play-offs.

### Hat-tricks

| Player | Club | Against | Result | Date |
| Massimo Coda | Lecce | Reggiana | 7–1 (H) | 21 November 2020 |
| Riad Bajić | Ascoli | Cremonese | 3–3 (A) | 12 December 2020 |
| Leonardo Mancuso$^4$ | Empoli | Virtus Entella | 5–2 (A) | 12 December 2020 |
| Mattia Aramu | Venezia | Monza | 4–1 (A) | 20 March 2021 |
| Florian Ayé | Brescia | Pisa | 4–3 (H) | 7 May 2021 |
| Andrija Novakovich | Frosinone | Reggina | 4–0 (A) | 10 May 2021 |
| Enrico Baldini | Cittadella | Monza | 3–0 (H) | 17 May 2021 |

#### Note

$^4$ Player scored four goals ; (H) – Home (A) – Away

### Clean sheets

| Rank | Player | Club | Clean sheets | Rounds |
| 1 | Vid Belec | Salernitana | 14 | 5, 9–10, 13, 19–20, 27–30, 32–33, 37–38 |
| 2 | Michele Di Gregorio$^1$ | Monza | 13 | 11–12, 14–17, 19, 24–25, 27, 36–37 |
| 2 | Samuele Perisan | Pordenone | 13 | 6, 9–10, 13, 16–19, 28, 32, 34, 37–38 |
| 2 | Adrian Šemper | Chievo | 13 | 1, 3–4, 6, 11–12, 17, 19, 22, 26, 29, 33, 38 |
| 5 | Alberto Brignoli | Empoli | 12 | 1–2, 7, 14, 17–18, 26, 28–30, 33, 36 |
| 6 | Francesco Bardi | Frosinone | 11 | 2–6, 13, 16, 24, 29, 31, 36 |
| 7 | Wladimiro Falcone | Cosenza | 9 | 4, 8, 12, 14, 16, 19, 25, 28, 35 |
| 7 | Vincenzo Fiorillo | Pescara | 9 | 1, 10, 12, 16–17, 24, 26, 28, 36 |
| 7 | Gabriel | Lecce | 9 | 1–2, 17–18, 26–27, 30–32 |
| 7 | Elhan Kastrati$^2$ | Cittadella | 9 | 12, 14, 5, 28–29, 34, 36 |
| 7 | Luca Lezzerini | Venezia | 9 | 1, 3–4, 6, 5, 13–14, 19–20 |
* ↑ Played between rounds 20 and 21.
* ↑ Played between rounds 17 and 18.
* ↑ Played between rounds 7 and 8.

#### Note

$^1$ Player kept 1 clean sheet in the play-offs. $^2$ Player kept 2 clean sheets in the play-offs.

## Awards
### XI of the Season

| Pos. | Player | Club |
| GK | Vid Belec | Salernitana |
| DF | Pasquale Mazzocchi | Venezia |
| DF | Norbert Gyömbér | Salernitana |
| DF | Luka Bogdan | Salernitana |
| DF | Carlos Augusto | Monza |
| MF | Davide Frattesi | Monza |
| MF | Marco Mancosu | Lecce |
| MF | Youssef Maleh | Venezia |
| FW | Leonardo Mancuso | Empoli |
| FW | Gennaro Tutino | Salernitana |
| FW | Massimo Coda | Lecce |
| Coach | Fabrizio Castori | Salernitana |