# 2018–19 Serie B

The 2018–19 Serie B (known as Serie BKT for sponsorship reasons) was the 87th season of Serie B in Italy since its establishment in 1929.
A total of 19 teams contested in the 2018–19 season, instead of the usual 22 teams, due to the exclusion of Bari, Cesena and Avellino. There are 12 teams returning from the 2017–18 Serie B season, 4 promoted from 2017–18 Serie C (Livorno, Padova, Lecce, Cosenza) and 3 relegated from 2017–18 Serie A (Crotone, Hellas Verona, Benevento).

## Teams

The list of teams for the season was originally expected to feature 15 teams from the 2017–18 Serie B, as well as three teams who were relegated from the 2017–18 Serie A (Crotone, Verona and Benevento) and four promoted from the 2017–18 Serie C: league winners Livorno, Padova and Lecce, plus national playoff winners Cosenza.
Later in July, Bari and Cesena renounced on their participation to the league due to serious financial issues, whereas Avellino was excluded due to financial irregularities. Foggia was admitted, but it had eight points deducted.
Following these event, the Serie B league assembly voted in favour of reducing the number of teams from 22 to 20; this move was promptly revoked by the Italian Football Federation due to bureaucratic issues who would not allow to change the league format for the current season.
On 7 August, Avellino was finally excluded from the Serie B after losing on their appeal verdict to be readmitted in the league.
Although it was expected that the three vacancies were to be filled by Catania, Novara and Siena, however Pro Vercelli and Ternana disagreed, and on 10 August, the Lega B announced the 2018–19 season would go ahead with 19 teams instead of the regular 22. The Italian Football Federation formalized the change of format for the Serie B from 22 to 19 teams later on 13 August.

### Stadiums and locations

| Team | Home city | Stadium | Capacity | 2017–18 season |
| Ascoli | Ascoli Piceno | Stadio Cino e Lillo Del Duca | 10,887 | 18th in Serie B |
| Benevento | Benevento | Stadio Ciro Vigorito | 17,554 | 20th in Serie A |
| Brescia | Brescia | Stadio Mario Rigamonti | 16,743 | 16th in Serie B |
| Carpi | Carpi | Stadio Sandro Cabassi | 5,510 | 11th in Serie B |
| Cittadella | Cittadella | Stadio Pier Cesare Tombolato | 7,623 | 6th in Serie B |
| Cosenza | Cosenza | Stadio San Vito-Gigi Marulla | 20,987 | 5th Serie C/C, play-off winner |
| Cremonese | Cremona | Stadio Giovanni Zini | 20,641 | 14th in Serie B |
| Crotone | Crotone | Stadio Ezio Scida | 16,547 | 18th in Serie A |
| Foggia | Foggia | Stadio Pino Zaccheria | 16,798 | 9th in Serie B |
| Hellas Verona | Verona | Stadio Marc'Antonio Bentegodi | 38,402 | 19th in Serie A |
| Lecce | Lecce | Stadio Via del Mare | 40,670 | Serie C/C Champions |
| Livorno | Livorno | Stadio Armando Picchi | 19,238 | Serie C/A Champions |
| Padova | Padua | Stadio Euganeo | 19,740 | Serie C/B Champions |
| Palermo | Palermo | Stadio Renzo Barbera | 36,349 | 4th in Serie B |
| Perugia | Perugia | Stadio Renato Curi | 23,125 | 8th in Serie B |
| Pescara | Pescara | Stadio Adriatico-Giovanni Cornacchia | 20,515 | 17th in Serie B |
| Salernitana | Salerno | Stadio Arechi | 31,300 | 12th in Serie B |
| Spezia | La Spezia | Stadio Alberto Picco | 10,290 | 10th in Serie B |
| Venezia | Venice | Stadio Pier Luigi Penzo | 7,450 | 5th in Serie B |

### Personnel and kits

| Team | President | Manager | Kit manufacturer | Shirt sponsor (front) | Shirt sponsor (back)* | Shirt sponsor (sleeve)* | Shorts sponsor |
| Ascoli | Giuliano Tosti | Vincenzo Vivarini | Nike | AIR fire/Fainplast, Moretti Design/Bricofer | Unibet | Facile Ristrutturare | None |
| Benevento | Oreste Vigorito | Cristian Bucchi | Frankie Garage | IVPC, Rillo Costruzioni | Unibet | Facile Ristrutturare | SAPA Group |
| Brescia | Massimo Cellino | Eugenio Corini | Acerbis | UBI Banca | Officine Meccaniche Rezzatesi | None | None |
| Carpi | Claudio Caliumi | Fabrizio Castori | Givova | Gaudì Jeans | Unibet | Facile Ristrutturare | None |
| Cittadella | Andrea Gabrielli | Roberto Venturato | Boxeur Des Rues | OCSA (H)/Veneta Nastri (A)/Gavinox (T), Gruppo Gabrielli | Unibet | Facile Ristrutturare | Metalservice |
| Cosenza | Eugenio Guarascio | Piero Braglia | Legea | Ecologia Oggi/Quattropuntozero, Volkswagen Gruppo Chiappetta | Unibet | Facile Ristrutturare | La Valle Trasporti |
| Cremonese | Paolo Rossi | Massimo Rastelli | Garman | Ilta Inox (H)/Arinox (A) | Unibet | Facile Ristrutturare | Arvedi Tubi Acciaio |
| Crotone | Gianni Vrenna | Giovanni Stroppa | Zeus | Envì Group, Metal Carpenteria | Unibet | Facile Ristrutturare | Ford Vumbaca Group |
| Foggia | Lucio Fares | Gianluca Grassadonia | Nike | Wüber, VisionOttica | Unibet | Facile Ristrutturare | Metaurobus |
| Hellas Verona | Maurizio Setti | Alfredo Aglietti | Macron | Gruppo Sinergy, AirDolomiti (H & A)/Sartori Vini (T) | Unibet | Facile Ristrutturare | SEC Events |
| Lecce | Saverio Sticchi Damiani | Fabio Liverani | M908 | Moby Lines, Pasta Maffei | Unibet | Facile Ristrutturare | Villa Iris |
| Livorno | Aldo Spinelli | Roberto Breda | Legea | Gruppo Spinelli, Toremar | Unibet | Facile Ristrutturare | Archipelagus Line & Energy |
| Padova | Roberto Bonetto | Matteo Centurioni | Kappa | Italiana Assiurazioni, Zanutta | Unibet | Facile Ristrutturare | Tiemme Costruzioni |
| Palermo | Rino Foschi | Delio Rossi | Legea | Unieuro/Super Conveniente/OMER Group/Gagliano Gioielli/Arkus Network, Bisaten | Unibet | Facile Ristrutturare | None |
| Perugia | Massimiliano Santopadre | Alessandro Nesta | Frankie Garage | Officine Piccini, Vitakraft | Unibet | Facile Ristrutturare | Mericat |
| Pescara | Daniele Sebastiani | Giuseppe Pillon | Erreà | Sarni Ristorazione, Liofilchem | Unibet | Facile Ristrutturare | Vincenzo Serraiocco Consulting |
| Salernitana | Marco Mezzaroma & Claudio Lotito | Angelo Gregucci | Givova | Sèleco | Unibet | Facile Ristrutturare | None |
| Spezia | Andrea Corradino | Pasquale Marino | Acerbis | Carispezia | Unibet | Facile Ristrutturare | Gelateria Vernazza |
| Venezia | Joe Tacopina | Serse Cosmi | Nike | Lino Sonego | Unibet | Facile Ristrutturare | None |
* Starting from this season, the two new unique institutional sponsors for all the teams participating in the Serie B tournament (except for Brescia) are Unibet (on the back under the numbering) and Facile Ristrutturare (on the left sleeve as a patch).

### Managerial changes

| Team | Outgoing manager | Manner of departure | Date of vacancy | Position in table | Replaced by | Date of appointment |
| Ascoli | Serse Cosmi | Sacked | Pre-season | Pre-season | Vincenzo Vivarini | Pre-season |
| Benevento | Roberto De Zerbi | End of contract | Pre-season | Pre-season | Christian Bucchi | Pre-season |
| Brescia | Ivo Pulga | End of contract | Pre-season | Pre-season | David Suazo | Pre-season |
| Carpi | Antonio Calabro | End of contract | Pre-season | Pre-season | Marcello Chezzi | Pre-season |
| Crotone | Walter Zenga | Mutual consent | Pre-season | Pre-season | Giovanni Stroppa | Pre-season |
| Foggia | Giovanni Stroppa | Signed by Crotone | Pre-season | Pre-season | Gianluca Grassadonia | Pre-season |
| Livorno | Andrea Sottil | Mutual consent | Pre-season | Pre-season | Cristiano Lucarelli | Pre-season |
| Palermo | Roberto Stellone | Mutual consent | Pre-season | Pre-season | Bruno Tedino | Pre-season |
| Spezia | Fabio Gallo | End of contract | Pre-season | Pre-season | Pasquale Marino | Pre-season |
| Hellas Verona | Fabio Pecchia | End of contract | Pre-season | Pre-season | Fabio Grosso | Pre-season |
| Venezia | Filippo Inzaghi | End of contract | Pre-season | Pre-season | Stefano Vecchi | Pre-season |
| Brescia | David Suazo | Sacked | 18 September 2018 | 15th | Eugenio Corini | 18 September 2018 |
| Carpi | Marcello Chezzi | Mutual consent | 18 September 2018 | 18th | Fabrizio Castori | 18 September 2018 |
| Palermo | Bruno Tedino | Sacked | 26 September 2018 | 7th | Roberto Stellone | 26 September 2018 |
| Venezia | Stefano Vecchi | Sacked | 11 October 2018 | 16th | Walter Zenga | 11 October 2018 |
| Crotone | Giovanni Stroppa | Sacked | 29 October 2018 | 11th | Ivan Moschella (caretaker) | 29 October 2018 |
| Crotone | Ivan Moschella | End of caretaker spell | 1 November 2018 | 12th | Massimo Oddo | 1 November 2018 |
| Cremonese | Andrea Mandorlini | Sacked | 4 November 2018 | 12th | Massimo Rastelli | 5 November 2018 |
| Padova | Pierpaolo Bisoli | Sacked | 6 November 2018 | 16th | Claudio Foscarini | 6 November 2018 |
| Livorno | Cristiano Lucarelli | Sacked | 6 November 2018 | 19th | Roberto Breda | 7 November 2018 |
| Foggia | Gianluca Grassadonia | Sacked | 11 December 2018 | 18th | Gaetano Pavone (caretaker) | 11 December 2018 |
| Foggia | Gaetano Pavone | End of caretaker spell | 18 December 2018 | 17th | Pasquale Padalino | 18 December 2018 |
| Salernitana | Stefano Colantuono | Resigned | 18 December 2018 | 10th | Angelo Gregucci | 20 December 2018 |
| Crotone | Massimo Oddo | Resigned | 28 December 2018 | 14th | Giovanni Stroppa | 28 December 2018 |
| Padova | Claudio Foscarini | Sacked | 28 December 2018 | 19th | Pierpaolo Bisoli | 28 December 2018 |
| Venezia | Walter Zenga | Sacked | 5 March 2019 | 16th | Serse Cosmi | 5 March 2019 |
| Foggia | Pasquale Padalino | Sacked | 10 March 2019 | 17th | Gianluca Grassadonia | 11 March 2019 |
| Padova | Pierpaolo Bisoli | Sacked | 18 March 2019 | 18th | Matteo Centurioni | 18 March 2019 |
| Palermo | Roberto Stellone | Sacked | 23 April 2019 | 3rd | Delio Rossi | 24 April 2019 |
| Hellas Verona | Fabio Grosso | Sacked | 1 May 2019 | 6th | Alfredo Aglietti | 1 May 2019 |

## League table

| Pos | Teamvte | Pld | W | D | L | GF | GA | GD | Pts | Promotion, qualification or relegation |
| 1 | Brescia (C, P) | 36 | 18 | 13 | 5 | 69 | 42 | +27 | 67 | Promotion to Serie A |
| 2 | Lecce (P) | 36 | 19 | 9 | 8 | 66 | 45 | +21 | 66 | Promotion to Serie A |
| 3 | Benevento | 36 | 17 | 9 | 10 | 61 | 45 | +16 | 60 | Qualification to promotion play-offs semi-finals |
| 4 | Pescara | 36 | 14 | 13 | 9 | 50 | 46 | +4 | 55 | Qualification to promotion play-offs semi-finals |
| 5 | Hellas Verona (O, P) | 36 | 13 | 13 | 10 | 49 | 46 | +3 | 52 | Qualification to promotion play-offs preliminary round |
| 6 | Spezia | 36 | 14 | 9 | 13 | 53 | 46 | +7 | 51 | Qualification to promotion play-offs preliminary round |
| 7 | Cittadella | 36 | 12 | 15 | 9 | 49 | 38 | +11 | 51 | Qualification to promotion play-offs preliminary round |
| 8 | Perugia | 36 | 14 | 8 | 14 | 49 | 49 | 0 | 50 | Qualification to promotion play-offs preliminary round |
| 9 | Cremonese | 36 | 12 | 13 | 11 | 37 | 33 | +4 | 49 | |
| 10 | Cosenza | 36 | 11 | 13 | 12 | 34 | 42 | −8 | 46 | |
| 11 | Palermo (R, E, R) | 36 | 16 | 15 | 5 | 57 | 38 | +19 | 43 | Demotion to Serie D |
| 12 | Crotone | 36 | 11 | 10 | 15 | 40 | 42 | −2 | 43 | |
| 13 | Ascoli | 36 | 10 | 13 | 13 | 40 | 56 | −16 | 43 | |
| 14 | Livorno | 36 | 9 | 12 | 15 | 38 | 51 | −13 | 39 | |
| 15 | Venezia | 36 | 8 | 14 | 14 | 35 | 46 | −11 | 38 | Qualification to relegation play-out |
| 16 | Salernitana | 36 | 10 | 8 | 18 | 41 | 57 | −16 | 38 | Qualification to relegation play-out |
| 17 | Foggia (R, E, D) | 36 | 10 | 13 | 13 | 44 | 49 | −5 | 37 | Demotion to Serie D |
| 18 | Padova (R) | 36 | 5 | 16 | 15 | 36 | 49 | −13 | 31 | Relegation to Serie C |
| 19 | Carpi (R) | 36 | 7 | 8 | 21 | 39 | 67 | −28 | 29 | Relegation to Serie C |
* 1 2 Spezia finished ahead of Cittadella on head-to-head points: Spezia 1–0 Cittadella, Cittadella 0–1 Spezia.
* ↑ Palermo were initially deducted twenty points for financial irregularities, they were excluded from the 2019–20 Serie B on 12th July 2019.
* 1 2 3 Positions determined by head-to-head points: Palermo: 9 pts; Crotone: 6 pts; Ascoli 3 pts.
* ↑ Venezia was spared from relegation after Palermo's bankruptcy.
* 1 2 Venezia finished ahead of Salernitana on head-to-head points: Venezia 1–0 Salernitana, Salernitana 1–1 Venezia.
* ↑ Foggia were initially deducted six points for administral irregularities and relegated to 2019-20 Serie C; they were excluded from the 2019–20 Serie C on 12th July 2019.

### 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 |
| Brescia | 6 | 15 | 15 | 14 | 8 | 10 | 9 | 10 | 6 | 8 | 8 | 6 | 8 | 5 | 4 | 2 | 3 | 2 | 2 | 2 | 2 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| Lecce | 4 | 8 | 14 | 9 | 6 | 6 | 3 | 6 | 8 | 5 | 7 | 5 | 3 | 2 | 2 | 3 | 2 | 4 | 5 | 4 | 3 | 3 | 4 | 4 | 6 | 4 | 6 | 4 | 4 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
| Benevento | 3 | 12 | 9 | 5 | 3 | 3 | 8 | 4 | 3 | 6 | 6 | 8 | 5 | 6 | 7 | 7 | 7 | 6 | 6 | 6 | 6 | 5 | 3 | 3 | 4 | 2 | 4 | 6 | 6 | 6 | 6 | 4 | 4 | 4 | 4 | 4 | 4 | 3 |
| Pescara | 12 | 3 | 7 | 4 | 2 | 2 | 1 | 1 | 1 | 1 | 1 | 2 | 2 | 4 | 3 | 4 | 6 | 5 | 3 | 3 | 4 | 4 | 5 | 5 | 3 | 5 | 3 | 5 | 5 | 5 | 5 | 6 | 5 | 5 | 5 | 5 | 5 | 4 |
| Hellas Verona | 9 | 14 | 2 | 1 | 1 | 1 | 2 | 2 | 2 | 3 | 3 | 7 | 7 | 9 | 6 | 6 | 5 | 3 | 4 | 5 | 5 | 6 | 7 | 6 | 5 | 6 | 5 | 3 | 3 | 4 | 4 | 5 | 6 | 6 | 6 | 6 | 9 | 5 |
| Spezia | 16 | 6 | 13 | 8 | 11 | 8 | 4 | 7 | 9 | 9 | 11 | 12 | 9 | 12 | 9 | 9 | 10 | 9 | 7 | 7 | 9 | 7 | 6 | 7 | 7 | 7 | 8 | 9 | 8 | 9 | 8 | 9 | 7 | 7 | 7 | 7 | 6 | 6 |
| Cittadella | 1 | 1 | 1 | 2 | 5 | 5 | 7 | 8 | 5 | 7 | 5 | 4 | 4 | 3 | 5 | 5 | 4 | 7 | 8 | 8 | 7 | 8 | 8 | 10 | 8 | 10 | 9 | 7 | 9 | 8 | 9 | 7 | 8 | 8 | 8 | 9 | 7 | 7 |
| Perugia | 11 | 2 | 8 | 12 | 14 | 13 | 11 | 13 | 13 | 13 | 10 | 9 | 10 | 8 | 8 | 8 | 8 | 8 | 9 | 10 | 8 | 9 | 9 | 8 | 9 | 8 | 7 | 8 | 7 | 7 | 7 | 8 | 9 | 9 | 9 | 10 | 10 | 8 |
| Cremonese | 8 | 9 | 5 | 6 | 4 | 4 | 6 | 9 | 10 | 11 | 12 | 10 | 12 | 11 | 11 | 13 | 13 | 13 | 12 | 12 | 11 | 11 | 11 | 11 | 13 | 13 | 13 | 13 | 13 | 13 | 11 | 11 | 12 | 12 | 10 | 8 | 8 | 9 |
| Cosenza | 7 | 13 | 16 | 16 | 17 | 17 | 18 | 14 | 14 | 15 | 15 | 16 | 15 | 14 | 14 | 14 | 14 | 14 | 14 | 14 | 14 | 14 | 14 | 12 | 11 | 11 | 11 | 11 | 11 | 11 | 13 | 12 | 11 | 11 | 12 | 11 | 11 | 10 |
| Palermo | 13 | 10 | 6 | 3 | 7 | 9 | 5 | 3 | 4 | 2 | 2 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 2 | 2 | 2 | 2 | 3 | 2 | 2 | 2 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 11 |
| Crotone | 18 | 5 | 3 | 7 | 9 | 11 | 12 | 11 | 11 | 12 | 14 | 14 | 14 | 15 | 15 | 15 | 16 | 17 | 18 | 19 | 16 | 16 | 17 | 17 | 18 | 17 | 17 | 16 | 16 | 14 | 14 | 14 | 14 | 14 | 14 | 13 | 13 | 12 |
| Ascoli | 5 | 16 | 10 | 13 | 12 | 12 | 13 | 12 | 12 | 10 | 9 | 11 | 11 | 10 | 12 | 10 | 11 | 11 | 10 | 11 | 13 | 13 | 13 | 14 | 12 | 12 | 12 | 12 | 12 | 12 | 10 | 10 | 10 | 10 | 11 | 12 | 12 | 13 |
| Livorno | 15 | 17 | 17 | 17 | 18 | 18 | 19 | 19 | 19 | 18 | 19 | 19 | 19 | 19 | 19 | 19 | 18 | 16 | 16 | 17 | 18 | 18 | 16 | 16 | 15 | 16 | 15 | 14 | 14 | 15 | 15 | 17 | 17 | 16 | 16 | 15 | 15 | 14 |
| Venezia | 2 | 7 | 12 | 15 | 16 | 15 | 16 | 16 | 16 | 14 | 13 | 13 | 13 | 13 | 13 | 11 | 12 | 12 | 13 | 13 | 12 | 12 | 12 | 13 | 14 | 14 | 16 | 15 | 15 | 16 | 16 | 16 | 15 | 15 | 15 | 16 | 17 | 15 |
| Salernitana | 14 | 11 | 4 | 10 | 10 | 7 | 10 | 5 | 7 | 4 | 4 | 3 | 6 | 7 | 10 | 12 | 9 | 10 | 11 | 9 | 10 | 10 | 10 | 9 | 10 | 9 | 10 | 10 | 10 | 10 | 12 | 13 | 13 | 13 | 13 | 14 | 14 | 16 |
| Foggia | 19 | 19 | 19 | 19 | 19 | 19 | 17 | 18 | 17 | 17 | 17 | 17 | 18 | 18 | 18 | 17 | 17 | 18 | 17 | 16 | 15 | 15 | 15 | 15 | 16 | 15 | 14 | 17 | 17 | 17 | 17 | 15 | 16 | 17 | 17 | 17 | 16 | 17 |
| Padova | 10 | 4 | 11 | 11 | 13 | 14 | 14 | 15 | 15 | 16 | 16 | 15 | 16 | 16 | 16 | 18 | 19 | 19 | 19 | 18 | 19 | 19 | 19 | 18 | 19 | 19 | 19 | 18 | 18 | 18 | 18 | 19 | 19 | 19 | 19 | 19 | 18 | 18 |
| Carpi | 17 | 18 | 18 | 18 | 15 | 16 | 15 | 17 | 18 | 19 | 18 | 18 | 17 | 17 | 17 | 16 | 15 | 15 | 15 | 15 | 17 | 17 | 18 | 19 | 17 | 18 | 18 | 19 | 19 | 19 | 19 | 18 | 18 | 18 | 18 | 18 | 19 | 19 |
* Champions, promotion to Serie A
* Promotion to Serie A
* Play-off semifinals
* Play-off preliminary round
* Play-out
* Relegation to Serie C

## Results

| Home \ Away | ASC | BEN | BRE | CAR | CIT | COS | CRE | CRO | FOG | VER | LEC | LIV | PAD | PAL | PER | PES | SAL | SPE | VEN |
| Ascoli | — | 2–2 | 1–1 | 1–0 | 1–1 | 1–1 | 0–0 | 3–2 | 2–2 | 1–0 | 1–0 | 1–1 | 2–3 | 1–2 | 0–3 | 2–1 | 2–4 | 3–1 | 1–0 |
| Benevento | 1–2 | — | 1–1 | 3–1 | 1–0 | 4–2 | 2–1 | 3–0 | 1–3 | 0–1 | 3–3 | 1–0 | 3–3 | 1–2 | 2–1 | 2–1 | 4–0 | 2–3 | 3–0 |
| Brescia | 1–0 | 2–3 | — | 3–1 | 0–1 | 1–0 | 3–2 | 2–0 | 2–1 | 4–2 | 2–1 | 2–0 | 4–1 | 2–1 | 1–1 | 1–1 | 3–0 | 4–4 | 2–0 |
| Carpi | 1–1 | 2–2 | 1–1 | — | 0–1 | 1–1 | 1–2 | 1–2 | 0–2 | 1–1 | 0–1 | 1–4 | 2–1 | 0–3 | 0–1 | 0–0 | 3–2 | 3–2 | 2–3 |
| Cittadella | 2–2 | 0–1 | 2–2 | 3–1 | — | 2–0 | 1–3 | 3–0 | 1–1 | 3–0 | 4–1 | 4–0 | 1–1 | 0–1 | 2–2 | 4–1 | 3–1 | 0–1 | 3–2 |
| Cosenza | 0–0 | 0–0 | 2–3 | 1–0 | 2–0 | — | 2–0 | 1–0 | 2–0 | 0–3 | 2–3 | 1–1 | 2–1 | 1–1 | 1–1 | 1–1 | 0–0 | 1–0 | 1–1 |
| Cremonese | 0–1 | 1–0 | 0–0 | 1–2 | 0–0 | 2–0 | — | 1–0 | 1–0 | 1–1 | 2–0 | 1–0 | 0–0 | 2–0 | 4–0 | 1–1 | 0–0 | 2–0 | 0–1 |
| Crotone | 3–0 | 1–0 | 2–2 | 1–1 | 0–0 | 0–1 | 0–0 | — | 4–1 | 1–2 | 2–2 | 1–1 | 2–1 | 3–0 | 2–0 | 0–2 | 1–1 | 0–3 | 1–1 |
| Foggia | 3–2 | 1–1 | 2–2 | 4–2 | 1–1 | 1–0 | 3–1 | 0–2 | — | 2–2 | 2–2 | 2–2 | 2–1 | 1–2 | 1–0 | 1–1 | 3–1 | 1–0 | 1–1 |
| Hellas Verona | 1–1 | 0–3 | 2–2 | 4–1 | 4–0 | 2–2 | 1–1 | 1–1 | 2–1 | — | 0–2 | 2–3 | 1–1 | 1–1 | 2–1 | 3–1 | 1–0 | 2–1 | 1–0 |
| Lecce | 7–0 | 1–1 | 1–0 | 4–1 | 1–1 | 3–1 | 2–0 | 1–0 | 1–0 | 2–1 | — | 3–2 | 3–2 | 1–2 | 0–0 | 2–0 | 2–2 | 2–1 | 2–1 |
| Livorno | 1–0 | 2–1 | 0–1 | 1–0 | 0–0 | 2–0 | 1–3 | 0–1 | 3–1 | 0–0 | 0–3 | — | 1–1 | 2–2 | 2–3 | 0–0 | 1–0 | 1–3 | 1–0 |
| Padova | 1–2 | 0–1 | 1–1 | 0–1 | 0–0 | 0–0 | 1–1 | 0–0 | 1–1 | 3–0 | 2–1 | 1–1 | — | 1–3 | 0–1 | 2–2 | 0–0 | 0–0 | 1–0 |
| Palermo | 3–0 | 0–0 | 1–1 | 4–1 | 2–2 | 2–1 | 2–2 | 1–0 | 0–0 | 1–0 | 2–1 | 1–1 | 1–1 | — | 4–1 | 3–0 | 1–2 | 2–2 | 1–1 |
| Perugia | 2–0 | 2–4 | 0–2 | 0–1 | 0–0 | 0–1 | 3–1 | 2–1 | 3–0 | 1–2 | 1–2 | 3–1 | 3–2 | 1–2 | — | 2–1 | 3–1 | 1–1 | 1–0 |
| Pescara | 1–1 | 2–1 | 1–5 | 2–0 | 0–1 | 1–1 | 0–0 | 2–1 | 1–0 | 1–1 | 4–2 | 2–1 | 2–0 | 3–2 | 1–1 | — | 2–0 | 2–0 | 1–0 |
| Salernitana | 1–1 | 0–1 | 1–3 | 2–5 | 4–2 | 1–2 | 2–0 | 0–2 | 1–0 | 1–0 | 1–2 | 3–1 | 3–0 | 0–0 | 2–1 | 2–4 | — | 1–0 | 1–1 |
| Spezia | 3–2 | 3–1 | 3–2 | 2–1 | 1–0 | 4–0 | 2–0 | 2–0 | 0–0 | 1–2 | 1–1 | 3–0 | 0–2 | 1–1 | 1–1 | 1–3 | 2–1 | — | 1–1 |
| Venezia | 1–0 | 2–3 | 2–1 | 1–1 | 1–1 | 0–1 | 1–1 | 1–4 | 1–0 | 1–1 | 1–1 | 1–1 | 2–1 | 1–1 | 2–3 | 2–2 | 1–0 | 1–0 | — |

## Promotion play-offs

Six teams could contest the promotion play-offs depending on the point differential between the third and fourth-placed teams. It began with a preliminary one-legged round played at the home venue of the higher placed team, involving the teams placed fifth to eight. The two winning teams advanced to play the third and fourth-placed teams in the two-legged semi-finals. Those winning teams advanced to the two-legged final, where the winner was promoted to play in Serie A the following season. In the two-legged rounds, the higher seeded team played the second game at home.
| Preliminary round | Preliminary round | Preliminary round | Semi-finals | Semi-finals | Semi-finals | Semi-finals | Semi-finals | Finals | Finals | Finals | Finals | Finals |
| | | | 7 | Cittadella | 1 | 3 | 4 | | | | | |
| 6 | Spezia | 1 | 3 | Benevento | 2 | 0 | 2 | | | | | |
| 7 | Cittadella | 2 | | | | | | 7 | Cittadella | 2 | 0 | 2 |
| | | | | | | | | 5 | Hellas Verona | 0 | 3 | 3 |
| | | | 5 | Hellas Verona | 0 | 1 | 1 | | | | | |
| 5 | Hellas Verona | 4 | 4 | Pescara | 0 | 0 | 0 | | | | | |
| 8 | Perugia | 1 | | | | | | | | | | |

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

The relegation play-out was originally scheduled to be played between the 15th and the 16th placed teams in the table — Venezia and Salernitana. However, following the relegation of Palermo to the bottom of the table due to administrative offense (financial irregularities), the Lega B announced no relegation play-off would be held, thus effectively relegating Foggia directly.
However, on 23 May 2019, the Regional Administrative Tribunal (TAR) of Lazio declared void the procedure followed by the Lega B, provisionally reintroducing the play-out, this time between Salernitana (15th) and Foggia (16th), in accordance with the new standings after Palermo were subsequently placed at the bottom of the league table due to financial irregularities. The decision was upheld by the Guarantee College of Sports (Collegio di garanzia dello sport) on 27 May.
Finally, on 29 May, the Court of Appeal of the Italian Football Federation (Corte d'Appello della FIGC) annulled the relegation of Palermo, who were sanctioned with 20 points of penalization instead, and hence changed the composition of the matches, causing the immediate relegation of Foggia, and the re-admission to the play-out of Venezia. Nevertheless, the players of both teams threatened to boycott the challenge, regarding it as late in the calendar (25 days after the last match), problematic for holidays and recesses of players, and conflicting with the FIFA International Calendar and a resolution of Lega B, according to which Serie B matches could not be held during the national team period (3–11 June).

### Matches

The higher-placed team played at home for the second leg. If tied on aggregate, extra time and a penalty shoot-out would be played because both teams ended up with the same number of points in the table. The losers would be relegated to Serie C for the following season.
| Team 1 | Agg.Tooltip Aggregate score | Team 2 | 1st leg | 2nd leg |
| Salernitana | 2–2 (4–2 p) | Venezia | 2–1 | 0–1 (a.e.t.) |

#### Second leg

On 12 July, the FIGC retired the professional license of Palermo. According to the new regulations enacted by the FIGC in January 2019, the relegation play-out was consequently considered null and void, and both Venezia and Salernitana were allowed to remain in Serie B.

## Season statistics
### Top goalscorers

| Rank | Player | Club | Goals |
| 1 | Alfredo Donnarumma | Brescia | 25 |
| 2 | Massimo Coda$^1$ | Benevento | 22 |
| 3 | Leonardo Mancuso | Pescara | 19 |
| 4 | Andrea La Mantia | Lecce | 17 |
| 5 | Gabriele Moncini$^3$ | Cittadella | 15 |
| 6 | Ilija Nestorovski | Palermo | 14 |
| 6 | Simy | Crotone | 14 |
| 8 | Marco Mancosu | Lecce | 13 |
| 9 | Giampaolo Pazzini$^2$ | Hellas Verona | 12 |
| 9 | Ernesto Torregrossa | Brescia | 12 |
| 9 | Valerio Verre | Perugia | 12 |

#### Note

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

### Clean sheets

| Rank | Player | Club | Clean sheets | Weeks |
| 1 | Alberto Paleari$^2$ | Cittadella | 14 | 1-3, 9, 11, 13, 15, 20, 27, 32, 36-37 |
| 2 | Pietro Perina | Cosenza | 12 | 13, 16-18, 20, 22, 24-26, 32-34 |
| 3 | Alex Cordaz | Crotone | 10 | 3, 20-21, 26-28, 31, 33, 36, 38 |
| 3 | Vincenzo Fiorillo$^1$ | Pescara | 10 | 4, 18, 20-21, 24-25, 27, 34, 38 |
| 3 | Mauro Vigorito | Lecce | 10 | 5, 7, 10, 13-15, 28, 22, 30, 35 |
| 6 | Alessandro Micai | Salernitana | 9 | 1, 3, 6-7, 12, 17-18, 22, 26 |
| 6 | Nicola Ravaglia | Cremonese | 9 | 5, 12, 14–15, 19–21, 23, 33 |
| 8 | Gabriel | Perugia | 8 | 2, 7, 15, 18, 21, 24, 29, 36 |
| 8 | Eugenio Lamanna | Spezia | 8 | 9, 13, 15, 18, 22-23, 26, 37 |
| 8 | Lorenzo Montipò | Benevento | 8 | 14, 16-18, 22-24, 34 |
| 8 | Marco Silvestri$^3$ | Hellas Verona | 8 | 15, 17-18, 25, 27 |
* ↑ Played between weeks 29 and 30.

#### Note

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

## Attendance data of regular season

| Pos | Team | Total | High | Low | Average | Change |
| 1 | Lecce | 218,079 | 25,135 | 8,198 | 12,116 | +20.6%$^C$ |
| 2 | Benevento | 192,039 | 13,622 | 9,505 | 10,669 | −12.1%$^A$ |
| 3 | Verona | 190,336 | 14,517 | 8,258 | 10,574 | −39.0%$^A$ |
| 4 | Foggia | 183,913 | 12,537 | 8,836 | 10,217 | −7.6%$^†$ |
| 5 | Palermo | 169,084 | 28,351 | 4,513 | 9,394 | +4.0%$^†$ |
| 6 | Salernitana | 153,237 | 12,979 | 5,705 | 8,513 | −2.4%$^†$ |
| 7 | Brescia | 148,154 | 14,000 | 5,502 | 8,231 | +19.9%$^†$ |
| 8 | Perugia | 141,516 | 9,501 | 6,883 | 7,862 | −9.3%$^†$ |
| 9 | Padova | 135,782 | 9,338 | 6,405 | 7,543 | +43.2%$^C$ |
| 10 | Cremonese | 130,218 | 11,840 | 5,416 | 7,234 | +0.4%$^†$ |
| 11 | Cosenza | 128,868 | 12,375 | 4,794 | 7,580 | +243.6%$^C$ |
| 12 | Pescara | 126,486 | 9,939 | 5,516 | 7,027 | −7.2%$^†$ |
| 13 | Crotone | 115,610 | 10,565 | 4,879 | 6,423 | −39.3%$^A$ |
| 14 | Ascoli | 109,108 | 8,416 | 4,789 | 6,062 | +12.9%$^†$ |
| 15 | Livorno | 105,831 | 6,594 | 4,986 | 5,880 | +0.9%$^C$ |
| 16 | Spezia | 97,856 | 6,508 | 4,845 | 5,436 | −3.6%$^†$ |
| 17 | Cittadella | 75,974 | 6,605 | 2,892 | 4,221 | +19.3%$^†$ |
| 18 | Venezia | 64,485 | 5,630 | 2,181 | 3,583 | −14.7%$^†$ |
| 19 | Carpi | 40,855 | 3,812 | 1,500 | 2,270 | +4.1%$^†$ |
| | League total | 2,527,431 | 28,351 | 1,500 | 7,412 | +7.0%$^†$ |
Source: Stadia Postcards Notes: $^A$ Team played last season in Serie A. $^C$ Team played last season in Serie C.