| Season | 2017–18 |
|---|---|
| Champions | Empoli (2nd title) |
| Promoted | Empoli Parma Frosinone (by play-off) |
| Relegated | Virtus Entella Novara Pro Vercelli Ternana Bari (bankruptcy) Cesena (bankruptcy) Avellino (bankruptcy) |
| Matches | 462 |
| Goals | 1,182 (2.56 per match) |
| Top goalscorer | Francesco Caputo (26 goals) |
| Biggest home win | Perugia 5–0Carpi (18 November 2017) |
| Biggest away win | Virtus Entella 1–5Perugia (27 August 2017) Perugia 1–5Pro Vercelli (8 October 2017) Bari 0-4Empoli (27 January 2018) Cremonese 0-4Foggia (7 April 2018) |
| Highest scoring | Empoli 5–3Cesena (18 November 2017) |
| Longest winning run | 6 games Empoli |
| Longest unbeaten run | 28 games Empoli |
| Longest winless run | 18 games Cremonese |
| Longest losing run | 5 games Perugia Ternana |
| Highest attendance | 33,567 Bari 1–0Foggia (26 November 2017) |
| Lowest attendance | 912 Frosinone 2–1Cittadella (4 September 2017) (Match played in Avellino) |
| Total attendance | 3,194,526 |
| Average attendance | 6,930[1] |
2018–19 → | |
The2017–18Serie B (known as theSerie BConTe.it for sponsorship reasons) was the 86th season since its establishment in 1929.
A total of 22 teams contested the league: 15 returning from the2016–17 Serie B season, 4 promoted from2016–17 Lega Pro (Cremonese, Venezia, Foggia, Parma), and 3 relegated from2016–17 Serie A (Empoli, Palermo, Pescara).
| Team | President | Manager | Kit manufacturer | Shirt sponsor (front) | Shirt sponsor (back) | Shorts sponsor |
|---|---|---|---|---|---|---|
| Ascoli | Nike | CIAM/Fainplast | Brosway | None | ||
| Avellino | Givova | Sidigas | None | None | ||
| Bari | Zeus | Peroni 3.5,PinéCembra | Password/Primiceri SpA | None | ||
| Brescia | Acerbis | UBI Banca[3] | OMR | None | ||
| Carpi | Givova | Gaudì Jeans | Braglia Costruzioni | None | ||
| Cesena | Lotto | PLT Puregreen | None | None | ||
| Cittadella | Boxeur Des Rues | OCSA, Gruppo Gabrielli | Metalservice | Veneta Nastri | ||
| Cremonese | Garman | Ilta Inox (H)/Arinox (A),Università di Pavia | None | None | ||
| Empoli | Joma | Gensan,Sammontana (H)/Logli Massimo (A) | Giletti | PSB Advisory | ||
| Foggia | Nike | Pasta Tamma, Wüber | Metaurobus | Valvoline | ||
| Frosinone | Legea | Banca Popolare del Frusinate, MBI Gas & Luce | 7Sette Carburanti | Acqua Filette | ||
| Novara | Joma | Banca Popolare di Novara, Gruppo Comoli Ferrari | Gorgonzola Igor | Intesa pour Homme | ||
| Palermo | Legea | Sicily by Car | Bisaten | None | ||
| Parma | Erreà | Cetilar,Aon | Viva la Mamma Beretta | Colser | ||
| Perugia | Frankie Garage | Officine Piccini, Fortinfissi | Tedesco Group | Mericat | ||
| Pescara | Erreà | Saquella Caffè, Lilofilchem | Sarni Ristorazione (H)/Sarnioro (A) | Vincenzo Serraiocco Consulting | ||
| Pro Vercelli | Erreà | PGO Group (H)/MediatechShop (A) | None | None | ||
| Salernitana | Givova | Sèleco Home | Sèleco Easy Life | None | ||
| Spezia | Acerbis | Arquati,Carispezia | None | Gelateria Vernazza | ||
| Ternana | Zeus | Unicusano | None | None | ||
| Venezia | Nike | Lino Sonego | None | Estra | ||
| Virtus Entella | Acerbis | Duferco Energia | Pensa Benessere | None |
| Team | Outgoing manager | Manner of departure | Date of vacancy | Position in table | Replaced by | Date of appointment |
|---|---|---|---|---|---|---|
| Ascoli | End of contract | 1 June 2017 | Pre-season | 1 June 2017[4][5] | ||
| Bari | End of contract | 13 June 2017 | 13 June 2017 | |||
| Brescia | End of contract | 3 June 2017 | 3 June 2017[7] | |||
| Carpi | Mutual consent | 12 June 2017 | 14 July 2017 | |||
| Frosinone | Mutual consent | 14 June 2017 | 14 June 2017 | |||
| Novara | Signed by Brescia | 3 June 2017 | 14 June 2017 | |||
| Pro Vercelli | Signed by Frosinone | 14 June 2017 | 14 June 2017 | |||
| Spezia | End of contract | 14 June 2017 | 14 June 2017 | |||
| Perugia | Signed by Sassuolo | 20 June 2017 | 23 June 2017 | |||
| Empoli | Mutual consent | 20 June 2017 | 21 June 2017 | |||
| Palermo | End of contract | 21 June 2017 | 22 June 2017 | |||
| Ternana | End of contract | 30 June 2017 | 9 July 2017 | |||
| Cesena | Sacked | 30 September 2017 | 22nd | 1 October 2017 | ||
| Brescia | 12 October 2017 | 15th | 12 October 2017 | |||
| Perugia | 24 October 2017 | 15th | 26 October 2017 | |||
| V. Entella | 5 November 2017 | 19th | 6 November 2017 | |||
| Ascoli | 7 December 2017 | 22nd | 7 December 2017 | |||
| Salernitana | 11 December 2017 | 11th | 12 December 2017 | |||
| Empoli | 16 December 2017 | 5th | 17 December 2017 | |||
| Pro Vercelli | 16 December 2017 | 20th | 17 December 2017 | |||
| Brescia | 15 January 2018 | 17th | 15 January 2018 | |||
| Pro Vercelli | 22 January 2018 | 22nd | 22 January 2018 | |||
| Ternana | 29 January 2018 | 20th | 30 January 2018 | |||
| Novara | 4 February 2018 | 16th | 5 February 2018 | |||
| Ternana | 21 February 2018 | 22nd | 21 February 2018 | |||
| Pescara | 6 March 2018 | 13th | 6 March 2018 | |||
| 1 April 2018 | 16th | 1 April 2018 | ||||
| Avellino | 3 April 2018 | 18th | 3 April 2018 | |||
| Cremonese | 23 April 2018 | 14th | 23 April 2018 | |||
| Palermo | 28 April 2018 | 3rd | 28 April 2018 | |||
| Brescia | 29 April 2018 | 13th | 29 April 2018 | |||
| Virtus Entella | 6 May 2018 | 20th | 6 May 2018 | |||
| Pro Vercelli | 7 May 2018 | 22nd | 7 May 2018 |
| Pos | Team | Pld | W | D | L | GF | GA | GD | Pts | Promotion, qualification or relegation |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Empoli(C, P) | 42 | 24 | 13 | 5 | 88 | 49 | +39 | 85 | Promotion toSerie A |
| 2 | Parma(P) | 42 | 21 | 9 | 12 | 57 | 37 | +20 | 72[a] | |
| 3 | Frosinone(O, P) | 42 | 19 | 15 | 8 | 65 | 47 | +18 | 72[a] | Qualification topromotion play-offs semi-finals |
| 4 | Palermo | 42 | 18 | 17 | 7 | 59 | 39 | +20 | 71 | |
| 5 | Venezia | 42 | 17 | 16 | 9 | 56 | 42 | +14 | 67 | Qualification topromotion play-offs preliminary round |
| 6 | Cittadella | 42 | 18 | 12 | 12 | 61 | 48 | +13 | 66 | |
| 7 | Bari[b](R, D, R) | 42 | 18 | 13 | 11 | 59 | 48 | +11 | 65 | Relegation toSerie D[c] |
| 8 | Perugia | 42 | 16 | 12 | 14 | 67 | 58 | +9 | 60 | Qualification topromotion play-offs preliminary round |
| 9 | Foggia | 42 | 16 | 10 | 16 | 66 | 68 | −2 | 58 | |
| 10 | Spezia | 42 | 13 | 14 | 15 | 46 | 45 | +1 | 53 | |
| 11 | Carpi | 42 | 12 | 16 | 14 | 32 | 46 | −14 | 52 | |
| 12 | Salernitana | 42 | 11 | 18 | 13 | 51 | 58 | −7 | 51 | |
| 13 | Cesena[d](E, R) | 42 | 11 | 17 | 14 | 55 | 61 | −6 | 50 | Relegation toSerie D[c] |
| 14 | Cremonese | 42 | 9 | 21 | 12 | 48 | 47 | +1 | 48[e] | |
| 15 | Avellino(R, E, R, R) | 42 | 11 | 15 | 16 | 49 | 60 | −11 | 48[e] | Relegation toSerie D[c] |
| 16 | Brescia | 42 | 11 | 15 | 16 | 41 | 52 | −11 | 48[e] | |
| 17 | Pescara | 42 | 11 | 15 | 16 | 50 | 64 | −14 | 48[e] | |
| 18 | Ascoli(O) | 42 | 11 | 13 | 18 | 40 | 60 | −20 | 46 | Qualification torelegation play-out |
| 19 | Virtus Entella(R) | 42 | 10 | 14 | 18 | 41 | 54 | −13 | 44[f] | |
| 20 | Novara(R) | 42 | 10 | 14 | 18 | 42 | 52 | −10 | 44[f] | Relegation toSerie C |
| 21 | Pro Vercelli(R) | 42 | 9 | 13 | 20 | 47 | 70 | −23 | 40 | |
| 22 | Ternana(R) | 42 | 7 | 16 | 19 | 62 | 77 | −15 | 37 |
On August 13, 2018, the FIGC decided to reduce the chronic financial instability of the league halting re-elections of clubs. Serie B was so reduced to 19 clubs.
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 (or higher placed team from regular season if a match ended with a draw) 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 inSerie A the following season. In the two-legged rounds, the higher seeded team played the second game at home.
| Preliminary round | Semi-finals | Final | ||||||||||||||||
| 5 | Venezia | 1 | 0 | 1 | ||||||||||||||
| 5 | Venezia | 3 | 4 | Palermo | 1 | 1 | 2 | |||||||||||
| 8 | Perugia | 0 | 4 | Palermo | 2 | 0 | 2 | |||||||||||
| 3 | Frosinone | 1 | 2 | 3 | ||||||||||||||
| 6 | Cittadella | 1 | 1 | 2 | ||||||||||||||
| 6 | Cittadella | 2 | 3 | Frosinone | 1 | 1 | 2 | |||||||||||
| 7 | Bari | 2 | ||||||||||||||||
Two teams contested the relegation play-out in a two-legged round. The higher placed team played the second leg at home. In the case of a tie on aggregate, the higher placed team from the regular season were declared the winners. The losers were relegated toSerie C for the following season.
| Team 1 | Agg.Tooltip Aggregate score | Team 2 | 1st leg | 2nd leg |
|---|---|---|---|---|
| Virtus Entella (19) | 0–0 | Ascoli (18) | 0–0 | 0–0 |
| Home \ Away | ASC | AVE | BAR | BRE | CRP | CES | CIT | CRE | EMP | FOG | FRO | NOV | PAL | PAR | PER | PES | PVE | SAL | SPE | TER | VEN | VET |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Ascoli | 1–1 | 1–0 | 0–0 | 2–0 | 2–1 | 1–2 | 0–0 | 1–2 | 0–2 | 0–1 | 1–2 | 0–0 | 0–1 | 2–2 | 1–1 | 1–0 | 1–3 | 3–1 | 2–1 | 3–3 | 1–1 | |
| Avellino | 1–1 | 1–2 | 2–1 | 1–1 | 1–1 | 0–2 | 0–0 | 3–2 | 5–1 | 0–2 | 2–1 | 1–3 | 1–2 | 2–0 | 2–2 | 1–0 | 2–3 | 1–0 | 2–1 | 1–1 | 0–0 | |
| Bari | 3–0 | 2–1 | 3–0 | 2–0 | 3–0 | 4–2 | 1–0 | 0–4 | 1–0 | 1–0 | 1–1 | 0–3 | 0–0 | 3–1 | 1–0 | 2–2 | 1–1 | 1–1 | 3–0 | 0–2 | 1–0 | |
| Brescia | 0–1 | 2–3 | 2–1 | 1–1 | 0–0 | 1–1 | 1–1 | 0–2 | 2–2 | 1–2 | 0–1 | 0–0 | 2–1 | 2–1 | 2–1 | 0–0 | 2–0 | 1–1 | 3–1 | 1–2 | 0–0 | |
| Carpi | 4–2 | 0–0 | 0–0 | 1–1 | 2–1 | 1–1 | 1–1 | 0–0 | 1–3 | 1–1 | 1–0 | 1–3 | 2–1 | 1–2 | 0–1 | 2–0 | 1–0 | 2–1 | 2–1 | 0–0 | 0–0 | |
| Cesena | 0–2 | 3–1 | 1–1 | 1–0 | 0–0 | 0–1 | 1–0 | 2–3 | 3–3 | 1–0 | 2–2 | 1–1 | 2–1 | 1–1 | 4–2 | 2–2 | 3–3 | 1–0 | 4–3 | 0–0 | 3–0 | |
| Cittadella | 3–2 | 2–2 | 0–0 | 2–2 | 0–1 | 4–0 | 1–2 | 1–1 | 3–1 | 1–2 | 1–3 | 0–0 | 1–2 | 1–1 | 2–0 | 2–0 | 2–1 | 1–2 | 1–1 | 2–1 | 0–1 | |
| Cremonese | 1–2 | 3–1 | 0–1 | 2–0 | 1–1 | 1–0 | 1–1 | 1–1 | 0–4 | 2–2 | 1–1 | 1–2 | 1–0 | 3–3 | 0–0 | 2–3 | 1–1 | 1–0 | 3–3 | 5–1 | 0–1 | |
| Empoli | 3–0 | 1–1 | 3–2 | 1–1 | 1–0 | 5–3 | 0–1 | 1–1 | 3–1 | 3–3 | 1–1 | 4–0 | 4–0 | 2–1 | 3–1 | 3–2 | 2–0 | 1–1 | 2–1 | 3–2 | 2–1 | |
| Foggia | 3–0 | 2–1 | 1–1 | 1–2 | 3–0 | 2–1 | 1–3 | 2–3 | 0–3 | 1–2 | 2–2 | 1–1 | 0–3 | 2–1 | 0–1 | 2–1 | 1–0 | 2–1 | 1–1 | 2–2 | 1–1 | |
| Frosinone | 2–0 | 1–1 | 3–2 | 2–0 | 1–0 | 3–3 | 2–1 | 0–0 | 2–4 | 2–2 | 1–0 | 0–0 | 2–1 | 1–3 | 3–0 | 4–0 | 0–0 | 1–1 | 4–2 | 2–1 | 4–3 | |
| Novara | 1–2 | 1–2 | 1–2 | 2–1 | 1–0 | 1–0 | 1–0 | 1–1 | 1–1 | 0–1 | 2–1 | 2–2 | 0–1 | 1–1 | 1–1 | 0–1 | 2–3 | 1–1 | 0–3 | 1–3 | 0–1 | |
| Palermo | 4–1 | 3–0 | 1–1 | 2–0 | 4–0 | 0–0 | 0–3 | 1–1 | 3–3 | 1–2 | 1–0 | 0–2 | 1–1 | 1–0 | 1–1 | 2–1 | 3–0 | 2–0 | 1–0 | 0–0 | 2–0 | |
| Parma | 4–0 | 2–0 | 1–0 | 0–1 | 2–1 | 0–0 | 0–0 | 1–0 | 1–2 | 3–1 | 2–0 | 3–0 | 3–2 | 1–1 | 0–1 | 3–0 | 2–2 | 0–0 | 2–0 | 1–1 | 3–1 | |
| Perugia | 1–0 | 1–1 | 1–3 | 2–0 | 5–0 | 0–3 | 1–3 | 1–0 | 2–4 | 2–0 | 1–0 | 1–1 | 1–0 | 3–0 | 4–2 | 1–5 | 1–1 | 3–0 | 2–3 | 1–1 | 2–0 | |
| Pescara | 0–1 | 2–1 | 2–2 | 0–3 | 0–1 | 0–0 | 1–2 | 0–0 | 0–1 | 5–1 | 3–3 | 1–0 | 2–2 | 1–4 | 0–2 | 3–1 | 1–0 | 3–2 | 3–3 | 1–0 | 2–2 | |
| Pro Vercelli | 2–0 | 0–0 | 2–2 | 0–0 | 0–0 | 5–2 | 1–2 | 1–4 | 2–1 | 1–4 | 0–2 | 0–0 | 0–0 | 1–0 | 0–2 | 3–1 | 1–1 | 0–2 | 2–1 | 0–2 | 1–1 | |
| Salernitana | 0–0 | 2–0 | 2–2 | 4–2 | 1–2 | 1–1 | 1–3 | 1–1 | 2–1 | 0–3 | 1–1 | 1–0 | 0–2 | 0–1 | 1–1 | 2–2 | 0–0 | 2–0 | 3–3 | 3–2 | 1–0 | |
| Spezia | 1–1 | 1–0 | 1–0 | 0–1 | 0–1 | 1–2 | 0–0 | 1–0 | 1–1 | 1–0 | 1–1 | 1–0 | 0–0 | 0–2 | 4–2 | 4–0 | 5–1 | 3–0 | 1–1 | 1–1 | 2–1 | |
| Ternana | 1–1 | 1–2 | 1–2 | 1–1 | 0–0 | 1–0 | 5–1 | 2–1 | 1–1 | 2–2 | 0–0 | 1–1 | 2–3 | 1–1 | 1–1 | 0–3 | 4–3 | 2–2 | 4–2 | 2–3 | 0–1 | |
| Venezia | 1–0 | 3–1 | 3–1 | 1–2 | 2–0 | 1–0 | 2–1 | 1–1 | 1–0 | 2–1 | 1–1 | 1–3 | 3–0 | 0–1 | 1–0 | 0–0 | 1–1 | 0–0 | 0–0 | 2–0 | 2–0 | |
| Virtus Entella | 1–1 | 1–1 | 3–1 | 3–0 | 0–0 | 2–2 | 0–1 | 1–1 | 2–3 | 1–2 | 0–1 | 2–1 | 1–2 | 2–0 | 1–5 | 0–0 | 3–2 | 0–2 | 0–1 | 3–1 | 0–0 |