# 2022–23 Serie B

The 2022–23 Serie B (known as the Serie BKT for sponsorship reasons) was the 91st season of the Serie B since its establishment in 1929.

## Changes

The following teams have changed division since the 2021–22 season:
Südtirol played in Serie B for the first time in history for this season, the 124th team entering in this round robin league.

## Teams
### Stadiums and locations

| Team | Home city | Stadium | Capacity | 2021–22 season |
| Ascoli | Ascoli Piceno | Cino e Lillo Del Duca | 12,461 | 6th in Serie B |
| Bari | Bari | San Nicola | 58,270 | Serie C Group C champions |
| Benevento | Benevento | Ciro Vigorito | 16,867 | 7th in Serie B |
| Brescia | Brescia | Mario Rigamonti | 19,500 | 5th in Serie B |
| Cagliari | Cagliari | Unipol Domus | 16,416 | 18th in Serie A |
| Cittadella | Cittadella (Padua) | Pier Cesare Tombolato | 7,623 | 11th in Serie B |
| Como | Como | Giuseppe Sinigaglia | 13,602 | 13th in Serie B |
| Cosenza | Cosenza | San Vito-Gigi Marulla | 24,209 | 16th in Serie B |
| Frosinone | Frosinone | Benito Stirpe | 16,227 | 9th in Serie B |
| Genoa | Genoa | Luigi Ferraris | 36,599 | 19th in Serie A |
| Modena | Modena | Alberto Braglia | 21,092 | Serie C Group B champions |
| Palermo | Palermo | Renzo Barbera | 36,365 | Serie C Playoff winner |
| Parma | Parma | Ennio Tardini | 27,906 | 12th in Serie B |
| Perugia | Perugia | Renato Curi | 23,625 | 8th in Serie B |
| Pisa | Pisa | Arena Garibaldi | 25,000 | 3rd in Serie B |
| Reggina | Reggio Calabria | Oreste Granillo | 27,543 | 14th in Serie B |
| SPAL | Ferrara | Paolo Mazza | 16,134 | 15th in Serie B |
| Südtirol | Bolzano | Druso | 5,539 | Serie C Group A champions |
| Ternana | Terni | Libero Liberati | 22,000 | 10th in Serie B |
| Venezia | Venice | Pier Luigi Penzo | 11,150 | 20th in Serie A |

### Personnel and kits

| Team | President | Manager | Captain | Kit manufacturer | Shirt Sponsor (front) | Shirt Sponsor (back) | Shirt Sponsor (sleeve) | Shorts Sponsor |
| Ascoli | Carlo Neri | Roberto Breda | Federico Dionisi | Nike | Fainplast | Bricofer/Rabona Mobile/northsixthgroup/Distretti Ecologici | Impresa Turzo (H)/Edil Style (A) | Gruppo Boero |
| Bari | Luigi De Laurentiis | Michele Mignani | Valerio Di Cesare | Kappa | Molino Casillo, Acqua Amata | MV Line | Decò Supermercati | Granoro |
| Benevento | Oreste Vigorito | Andrea Agostinelli | Gaetano Letizia | Nike | IVPC, Rillo Costruzioni | Pastificio Rummo | Contrader | None |
| Brescia | Massimo Cellino | Daniele Gastaldello | Dimitri Bisoli | Kappa | Rigamonti Salumificio | Le Stagioni d'Italia | Pardgroup | None |
| Cagliari | Tommaso Giulini | Claudio Ranieri | Leonardo Pavoletti | EYE Sport | Sardegna Artigianato, Fondazione Mont'e Prama | Ichnusa | Arborea | Blue Shark |
| Cittadella | Andrea Gabrielli | Edoardo Gorini | Romano Perticone | Erreà | Sirmax, Gruppo Gabrielli | Stylplex (H)/Quartzforms (A) | Pastificio Cecchin | Scilm (H)/Stylplex (A) |
| Como | Dennis Wise | Moreno Longo | Alessandro Bellemo | Erreà | Mola (H & A), Quelli che con Luca | Acqua S.Bernardo | None | None |
| Cosenza | Eugenio Guarascio | William Viali | Michele Rigione | Nike | Salumi di Calabria, Mi'Ndujo | Gruppo Malizia | Scintille Montesanto | 3F Falvo Group |
| Frosinone | Maurizio Stirpe | Fabio Grosso | Fabio Lucioni | Zeus | MeglioBanca | Polsinelli Enologia | Orsolini | Plasta Rei |
| Genoa | Alberto Zangrillo | Alberto Gilardino | Milan Badelj | Castore | Radio 105, MSC Cruises | LeasePlan | None | Portofino Mare |
| Modena | Carlo Rivetti | Attilio Tesser | Antonio Pergreffi | New Balance | Kerakoll | SAU | BPR Nutrition | Studio Appari |
| Palermo | Dario Mirri | Eugenio Corini | Matteo Brunori | Kappa | Decò Supermercati, Bisaten | A29 Energy Service Company | L.T. Costruzioni | Nuova Sicilauto |
| Parma | Kyle J. Krause | Fabio Pecchia | Gianluigi Buffon | Erreà | Prometeon, Classic Football Shirts | ITCompany | Agenzia Viaggi Fontana nel Mondo | OARO |
| Perugia | Massimiliano Santopadre | Fabrizio Castori | Gabriele Angella | Frankie Garage | VIM, Vitakraft | Re Salmone | SISAS | Mericat |
| Pisa | Giuseppe Corrado | Luca D'Angelo | Marius Marin | Adidas | Cetilar, Cavarretta Assicurazioni/SEAC | Hi-turf Solution | Gruppo Paim | Toni Luigi Scavi e Demolizioni |
| Reggina | Felice Saladini | Filippo Inzaghi | Lorenzo Crisetig | Givova | Canale Group, Ferraro SpA | Soseteg | Caffè Mauro | Securmed Group |
| SPAL | Joe Tacopina | Massimo Oddo | Lorenzo Dickmann | Macron | Rotary Club Ferrara Est-Rotary Club Ferrara-A-ROSE Associazione/Iosco Group, Adamant BioNRG | Errebi Technology | Edilalba | Cablaggi Iosco/Diemme Costruzioni |
| Südtirol | Gerhard Comper | Pierpaolo Bisoli | Fabian Tait | Mizuno | Südtirol, Duka | TopHaus | Alperia | Ci Gusta |
| Ternana | Stefano Bandecchi | Cristiano Lucarelli | Marino Defendi | Macron | Unicusano, Terni col Cuore | Caffè Ternano Cuore Umbro | Orsolini | None |
| Venezia | Duncan L. Niederauer | Paolo Vanoli | Marco Modolo | Kappa | None | None | Bechèr | None |

### Managerial changes

| Team | Outgoing manager | Manner of departure | Date of vacancy | Position in table | Replaced by | Date of appointment |
| Ascoli | Andrea Sottil | Mutual consent | 6 June 2022 | Pre-season | Cristian Bucchi | 1 July 2022 |
| Perugia | Massimiliano Alvini | Mutual consent | 8 June 2022 | Pre-season | Fabrizio Castori | 1 July 2022 |
| Südtirol | Ivan Javorčić | Mutual consent | 9 June 2022 | Pre-season | Lamberto Zauli | 1 July 2022 |
| Parma | Giuseppe Iachini | End of contract | 30 June 2022 | Pre-season | Fabio Pecchia | 1 July 2022 |
| Cagliari | Alessandro Agostini | End of caretaker spell | 8 June 2022 | Pre-season | Fabio Liverani | 1 July 2022 |
| Venezia | Andrea Soncin | End of caretaker spell | 9 June 2022 | Pre-season | Ivan Javorčić | 1 July 2022 |
| Brescia | Eugenio Corini | Mutual consent | 14 June 2022 | Pre-season | Pep Clotet | 1 July 2022 |
| Cosenza | Pierpaolo Bisoli | Mutual consent | 15 June 2022 | Pre-season | Davide Dionigi | 1 July 2022 |
| Pisa | Luca D'Angelo | Mutual consent | 14 June 2022 | Pre-season | Rolando Maran | 1 July 2022 |
| Reggina | Roberto Stellone | End of contract | 30 June 2022 | Pre-season | Filippo Inzaghi | 12 July 2022 |
| Palermo | Silvio Baldini | Resigned | 27 July 2022 | Pre-season | Stefano Di Benedetto (caretaker) | 28 July 2022 |
| Palermo | Stefano Di Benedetto | End of caretaker spell | 7 August 2022 | Pre-season | Eugenio Corini | 7 August 2022 |
| Südtirol | Lamberto Zauli | Mutual consent | 9 August 2022 | Pre-season | Leandro Greco (caretaker) | 9 August 2022 |
| Südtirol | Leandro Greco | End of caretaker spell | 29 August 2022 | 20th | Pierpaolo Bisoli | 29 August 2022 |
| Como | Giacomo Gattuso | Extended leave of absence | 8 September 2022 | 18th | Massimiliano Guidetti (caretaker) | 8 September 2022 |
| Pisa | Rolando Maran | Sacked | 19 September 2022 | 20th | Luca D'Angelo | 19 September 2022 |
| Perugia | Fabrizio Castori | Sacked | 19 September 2022 | 17th | Silvio Baldini | 20 September 2022 |
| Como | Massimiliano Guidetti | End of caretaker spell | 20 September 2022 | 19th | Moreno Longo | 20 September 2022 |
| Benevento | Fabio Caserta | Sacked | 20 September 2022 | 12th | Fabio Cannavaro | 21 September 2022 |
| SPAL | Roberto Venturato | Sacked | 9 October 2022 | 14th | Daniele De Rossi | 11 October 2022 |
| Perugia | Silvio Baldini | Resigned | 19 October 2022 | 20th | Fabrizio Castori | 19 October 2022 |
| Venezia | Ivan Javorčić | Sacked | 31 October 2022 | 18th | Andrea Soncin (caretaker) | 1 November 2022 |
| Cosenza | Davide Dionigi | Sacked | 31 October 2022 | 16th | William Viali | 2 November 2022 |
| Venezia | Andrea Soncin | End of caretaker spell | 7 November 2022 | 19th | Paolo Vanoli | 7 November 2022 |
| Ternana | Cristiano Lucarelli | Sacked | 26 November 2022 | 7th | Aurelio Andreazzoli | 2 December 2022 |
| Genoa | Alexander Blessin | Sacked | 6 December 2022 | 5th | Alberto Gilardino | 6 December 2022 |
| Cagliari | Fabio Liverani | Sacked | 20 December 2022 | 14th | Roberto Muzzi (caretaker) | 20 December 2022 |
| Brescia | Pep Clotet | Sacked | 21 December 2022 | 10th | Alfredo Aglietti | 21 December 2022 |
| Cagliari | Roberto Muzzi | End of caretaker spell | 1 January 2023 | 14th | Claudio Ranieri | 1 January 2023 |
| Brescia | Alfredo Aglietti | Sacked | 16 January 2023 | 13th | Pep Clotet | 16 January 2023 |
| Ascoli | Cristian Bucchi | Sacked | 4 February 2023 | 13th | Roberto Breda | 6 February 2023 |
| Benevento | Fabio Cannavaro | Sacked | 4 February 2023 | 19th | Roberto Stellone | 6 February 2023 |
| Brescia | Pep Clotet | Sacked | 6 February 2023 | 16th | Davide Possanzini | 7 February 2023 |
| SPAL | Daniele De Rossi | Sacked | 14 February 2023 | 18th | Massimo Oddo | 14 February 2023 |
| Brescia | Davide Possanzini | Sacked | 20 February 2023 | 19th | Daniele Gastaldello | 20 February 2023 |
| Ternana | Aurelio Andreazzoli | Resigned | 25 February 2023 | 11th | Cristiano Lucarelli | 27 February 2023 |
| Benevento | Roberto Stellone | Resigned | 10 April 2023 | 20th | Andrea Agostinelli | 12 April 2023 |

## League table

| Pos | Teamvte | Pld | W | D | L | GF | GA | GD | Pts | Promotion, qualification or relegation |
| 1 | Frosinone (C, P) | 38 | 24 | 8 | 6 | 63 | 26 | +37 | 80 | Promotion to Serie A |
| 2 | Genoa (P) | 38 | 21 | 11 | 6 | 53 | 28 | +25 | 73 | Promotion to Serie A |
| 3 | Bari | 38 | 17 | 14 | 7 | 58 | 37 | +21 | 65 | Qualification for promotion play-offs semi-finals |
| 4 | Parma | 38 | 17 | 10 | 11 | 48 | 39 | +9 | 60 | Qualification for promotion play-offs semi-finals |
| 5 | Cagliari (O, P) | 38 | 15 | 15 | 8 | 50 | 34 | +16 | 60 | 0Qualification for promotion play-offs preliminary round0 |
| 6 | Südtirol | 38 | 14 | 16 | 8 | 38 | 34 | +4 | 58 | 0Qualification for promotion play-offs preliminary round0 |
| 7 | Reggina (E) | 38 | 17 | 4 | 17 | 49 | 45 | +4 | 50 | Revival in Serie D |
| 8 | Venezia | 38 | 13 | 10 | 15 | 51 | 50 | +1 | 49 | 0Qualification for promotion play-offs preliminary round0 |
| 9 | Palermo | 38 | 11 | 16 | 11 | 48 | 49 | −1 | 49 | |
| 10 | Modena | 38 | 13 | 9 | 16 | 47 | 53 | −6 | 48 | |
| 11 | Pisa | 38 | 11 | 14 | 13 | 48 | 42 | +6 | 47 | |
| 12 | Ascoli | 38 | 12 | 11 | 15 | 40 | 47 | −7 | 47 | |
| 13 | Como | 38 | 10 | 17 | 11 | 47 | 48 | −1 | 47 | |
| 14 | Ternana | 38 | 11 | 10 | 17 | 37 | 52 | −15 | 43 | |
| 15 | Cittadella | 38 | 9 | 16 | 13 | 34 | 45 | −11 | 43 | |
| 16 | Brescia | 38 | 9 | 13 | 16 | 36 | 57 | −21 | 40 | Spared from relegation |
| 17 | Cosenza (O) | 38 | 9 | 13 | 16 | 30 | 53 | −23 | 40 | Qualification for relegation play-out |
| 18 | Perugia (R) | 38 | 10 | 9 | 19 | 40 | 52 | −12 | 39 | Relegation to Serie C |
| 19 | SPAL (R) | 38 | 8 | 14 | 16 | 41 | 51 | −10 | 38 | Relegation to Serie C |
| 20 | Benevento (R) | 38 | 7 | 14 | 17 | 33 | 49 | −16 | 35 | Relegation to Serie C |
* ↑ Genoa were deducted one point due to income tax payment irregularities.
* ↑ Parma were deducted one point for missing the deadline to fulfil obligations for February taxes on the salary bill.
* 1 2 Parma finished ahead of Cagliari on head-to-head points: Cagliari 1–1 Parma, Parma 2–1 Cagliari.
* ↑ Reggina were deducted five points for failing to pay taxes and player salaries on time. The deduction was initially seven points; later relegated to Serie D after enduring serious financial difficulties for several years. Brescia was readmitted into Serie B.
* 1 2 3 Head-to-head points: Pisa 5, Ascoli 5, Como 4. Head-to-head goal difference: Pisa +1, Ascoli −1.
* 1 2 Ternana finished ahead of Cittadella on head-to-head goal difference: Cittadella 0–2 Ternana, Ternana 1–2 Cittadella.

### 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 that 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 |
| Frosinone | 8 | 1 | 4 | 2 | 4 | 3 | 6 | 5 | 3 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| Genoa | 6 | 6 | 2 | 5 | 9 | 5 | 4 | 6 | 5 | 2 | 2 | 3 | 3 | 3 | 5 | 4 | 4 | 4 | 3 | 3 | 3 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
| Bari | 9 | 12 | 7 | 9 | 5 | 4 | 2 | 2 | 4 | 5 | 5 | 5 | 6 | 5 | 3 | 3 | 3 | 3 | 4 | 4 | 4 | 5 | 5 | 3 | 3 | 3 | 3 | 3 | 3 | 4 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 |
| Parma | 10 | 14 | 8 | 10 | 14 | 8 | 7 | 7 | 6 | 8 | 6 | 6 | 4 | 6 | 4 | 7 | 5 | 6 | 6 | 9 | 7 | 10 | 7 | 8 | 11 | 7 | 8 | 7 | 8 | 9 | 7 | 7 | 7 | 5 | 5 | 5 | 5 | 4 |
| Cagliari | 11 | 5 | 12 | 7 | 3 | 6 | 9 | 9 | 8 | 10 | 10 | 10 | 10 | 11 | 12 | 12 | 11 | 14 | 11 | 8 | 8 | 6 | 9 | 6 | 6 | 8 | 7 | 8 | 7 | 6 | 5 | 6 | 6 | 6 | 6 | 6 | 6 | 5 |
| Südtirol | 20 | 20 | 20 | 17 | 15 | 15 | 10 | 10 | 9 | 7 | 9 | 9 | 8 | 8 | 8 | 9 | 9 | 7 | 7 | 6 | 5 | 4 | 4 | 5 | 4 | 5 | 4 | 4 | 4 | 3 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 6 |
| Reggina | 1 | 7 | 3 | 1 | 1 | 1 | 1 | 1 | 2 | 4 | 4 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 3 | 3 | 4 | 5 | 4 | 5 | 6 | 6 | 7 | 8 | 5 | 5 | 8 | 8 | 11 | 10 | 7 |
| Venezia | 15 | 9 | 11 | 14 | 16 | 16 | 13 | 16 | 16 | 17 | 18 | 19 | 19 | 19 | 18 | 18 | 15 | 16 | 17 | 18 | 18 | 19 | 18 | 13 | 15 | 16 | 16 | 16 | 16 | 16 | 14 | 14 | 14 | 14 | 10 | 10 | 7 | 8 |
| Palermo | 3 | 3 | 9 | 13 | 12 | 14 | 16 | 17 | 17 | 18 | 14 | 13 | 13 | 16 | 14 | 13 | 14 | 11 | 13 | 12 | 11 | 9 | 6 | 10 | 9 | 9 | 9 | 9 | 9 | 8 | 9 | 9 | 10 | 9 | 11 | 7 | 8 | 9 |
| Modena | 17 | 19 | 15 | 16 | 18 | 18 | 17 | 11 | 10 | 12 | 13 | 15 | 15 | 12 | 10 | 10 | 13 | 13 | 10 | 11 | 10 | 11 | 11 | 9 | 8 | 10 | 11 | 12 | 10 | 12 | 11 | 10 | 11 | 10 | 12 | 12 | 13 | 10 |
| Pisa | 13 | 15 | 18 | 19 | 20 | 20 | 18 | 18 | 18 | 15 | 15 | 14 | 11 | 10 | 11 | 8 | 8 | 5 | 5 | 5 | 6 | 8 | 10 | 7 | 7 | 6 | 6 | 5 | 5 | 5 | 6 | 8 | 8 | 7 | 7 | 9 | 9 | 11 |
| Ascoli | 5 | 4 | 1 | 4 | 8 | 11 | 12 | 13 | 11 | 9 | 7 | 7 | 9 | 9 | 9 | 11 | 10 | 9 | 9 | 10 | 12 | 12 | 13 | 12 | 12 | 13 | 10 | 10 | 12 | 13 | 13 | 13 | 12 | 11 | 9 | 8 | 11 | 12 |
| Como | 12 | 13 | 17 | 18 | 19 | 19 | 20 | 19 | 19 | 19 | 19 | 16 | 18 | 18 | 19 | 19 | 19 | 17 | 15 | 16 | 16 | 13 | 15 | 14 | 16 | 14 | 14 | 13 | 11 | 10 | 12 | 11 | 13 | 13 | 13 | 13 | 12 | 13 |
| Ternana | 14 | 10 | 16 | 15 | 13 | 7 | 5 | 3 | 1 | 3 | 3 | 4 | 5 | 7 | 7 | 5 | 6 | 8 | 8 | 7 | 9 | 7 | 8 | 11 | 10 | 11 | 12 | 11 | 13 | 11 | 10 | 12 | 9 | 12 | 14 | 14 | 14 | 14 |
| Cittadella | 4 | 8 | 10 | 11 | 6 | 12 | 15 | 15 | 14 | 13 | 12 | 12 | 14 | 13 | 13 | 14 | 16 | 18 | 19 | 17 | 17 | 16 | 12 | 15 | 13 | 12 | 13 | 14 | 14 | 14 | 15 | 15 | 15 | 16 | 16 | 15 | 15 | 15 |
| Brescia | 2 | 11 | 6 | 3 | 2 | 2 | 3 | 4 | 7 | 6 | 8 | 8 | 7 | 4 | 6 | 6 | 7 | 10 | 12 | 13 | 13 | 14 | 16 | 17 | 19 | 19 | 18 | 19 | 20 | 20 | 20 | 19 | 19 | 18 | 15 | 17 | 17 | 16 |
| Cosenza | 7 | 2 | 5 | 8 | 11 | 10 | 8 | 8 | 12 | 14 | 16 | 18 | 17 | 17 | 15 | 16 | 18 | 19 | 20 | 20 | 20 | 20 | 20 | 20 | 20 | 20 | 19 | 20 | 17 | 17 | 16 | 16 | 16 | 15 | 17 | 16 | 16 | 17 |
| Perugia | 19 | 18 | 19 | 20 | 17 | 17 | 19 | 20 | 20 | 20 | 20 | 20 | 20 | 20 | 20 | 20 | 20 | 20 | 18 | 19 | 19 | 18 | 14 | 16 | 14 | 15 | 15 | 15 | 15 | 15 | 17 | 17 | 17 | 17 | 18 | 18 | 18 | 18 |
| SPAL | 18 | 17 | 14 | 12 | 7 | 9 | 11 | 14 | 13 | 11 | 11 | 11 | 12 | 14 | 16 | 17 | 17 | 15 | 16 | 14 | 14 | 15 | 17 | 18 | 18 | 18 | 20 | 17 | 19 | 19 | 18 | 18 | 18 | 19 | 19 | 19 | 19 | 19 |
| Benevento | 16 | 16 | 13 | 6 | 10 | 13 | 14 | 12 | 15 | 16 | 17 | 17 | 16 | 15 | 17 | 15 | 12 | 12 | 14 | 15 | 15 | 17 | 19 | 19 | 17 | 17 | 17 | 18 | 18 | 18 | 19 | 20 | 20 | 20 | 20 | 20 | 20 | 20 |
* Leader and 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 | BAR | BEN | BRE | CAG | CIT | COM | COS | FRO | GEN | MOD | PAL | PAR | PER | PIS | REG | SPA | SUD | TER | VEN |
| Ascoli | — | 0–1 | 0–0 | 4–3 | 2–1 | 0–0 | 3–3 | 1–1 | 0–1 | 0–0 | 1–2 | 1–2 | 1–3 | 1–0 | 2–1 | 0–1 | 1–1 | 1–0 | 2–1 | 0–1 |
| Bari | 0–2 | — | 2–0 | 6–2 | 1–1 | 1–1 | 2–2 | 2–1 | 0–0 | 1–2 | 4–1 | 1–1 | 4–0 | 0–2 | 0–0 | 1–0 | 2–2 | 2–2 | 0–0 | 1–0 |
| Benevento | 1–1 | 1–1 | — | 1–0 | 0–2 | 1–0 | 0–0 | 0–1 | 2–1 | 1–2 | 2–1 | 0–1 | 2–2 | 0–2 | 0–0 | 1–2 | 1–3 | 0–2 | 2–3 | 1–2 |
| Brescia | 1–1 | 0–2 | 1–0 | — | 1–1 | 1–1 | 0–1 | 2–1 | 1–3 | 0–3 | 0–1 | 1–1 | 0–2 | 2–1 | 1–1 | 0–2 | 2–0 | 2–0 | 1–0 | 1–1 |
| Cagliari | 4–1 | 0–1 | 1–0 | 2–1 | — | 2–1 | 2–0 | 2–0 | 0–0 | 0–0 | 1–0 | 2–1 | 1–1 | 3–2 | 1–1 | 1–1 | 2–1 | 1–1 | 2–1 | 1–4 |
| Cittadella | 3–0 | 0–3 | 3–1 | 0–0 | 0–0 | — | 0–0 | 1–1 | 1–0 | 0–1 | 0–0 | 3–3 | 0–1 | 0–2 | 4–3 | 3–2 | 0–0 | 0–2 | 0–2 | 1–1 |
| Como | 1–1 | 1–1 | 2–1 | 0–1 | 1–1 | 2–0 | — | 5–1 | 0–2 | 2–2 | 1–0 | 1–1 | 2–0 | 1–0 | 2–2 | 0–1 | 3–3 | 0–2 | 3–1 | 1–0 |
| Cosenza | 1–3 | 0–1 | 1–1 | 1–1 | 0–1 | 1–1 | 3–1 | — | 1–2 | 1–2 | 2–1 | 3–2 | 1–0 | 0–0 | 1–0 | 2–1 | 1–0 | 0–0 | 0–0 | 1–1 |
| Frosinone | 2–0 | 1–0 | 1–0 | 3–0 | 2–2 | 3–0 | 2–0 | 0–1 | — | 3–2 | 2–1 | 1–0 | 3–4 | 1–0 | 0–0 | 3–1 | 2–0 | 0–0 | 3–0 | 3–0 |
| Genoa | 2–1 | 4–3 | 0–0 | 1–1 | 0–0 | 0–1 | 1–1 | 4–0 | 1–0 | — | 1–0 | 2–0 | 3–3 | 2–0 | 0–0 | 1–0 | 3–0 | 2–0 | 1–0 | 1–0 |
| Modena | 0–1 | 1–1 | 1–1 | 1–3 | 2–0 | 0–0 | 5–1 | 2–0 | 0–1 | 2–2 | — | 0–2 | 1–1 | 1–1 | 1–0 | 1–0 | 0–0 | 2–1 | 4–1 | 2–2 |
| Palermo | 2–3 | 1–0 | 1–1 | 2–2 | 2–1 | 0–0 | 0–0 | 0–0 | 1–1 | 1–0 | 5–2 | — | 1–0 | 2–0 | 3–3 | 2–1 | 2–1 | 0–1 | 0–0 | 0–1 |
| Parma | 0–1 | 2–2 | 0–1 | 2–0 | 2–1 | 3–1 | 1–0 | 1–0 | 2–1 | 2–0 | 1–2 | 2–1 | — | 2–0 | 0–1 | 2–0 | 0–1 | 0–0 | 2–3 | 2–1 |
| Perugia | 1–0 | 1–3 | 3–2 | 4–0 | 0–5 | 0–2 | 0–0 | 0–0 | 1–1 | 1–0 | 0–1 | 3–3 | 0–0 | — | 1–3 | 1–3 | 0–0 | 1–2 | 3–0 | 2–1 |
| Pisa | 2–0 | 1–2 | 2–0 | 3–0 | 0–0 | 1–2 | 2–2 | 3–1 | 1–3 | 0–1 | 4–2 | 1–1 | 0–0 | 2–1 | — | 0–1 | 1–2 | 0–1 | 3–1 | 1–1 |
| Reggina | 1–0 | 0–0 | 2–2 | 1–2 | 0–4 | 3–0 | 2–1 | 3–0 | 0–3 | 2–1 | 2–1 | 3–0 | 0–1 | 2–3 | 0–2 | — | 0–1 | 4–0 | 2–1 | 1–0 |
| SPAL | 1–1 | 3–4 | 1–2 | 2–2 | 1–0 | 2–1 | 1–1 | 5–0 | 0–2 | 0–2 | 2–3 | 1–1 | 0–1 | 1–1 | 0–1 | 1–3 | — | 1–1 | 1–1 | 2–0 |
| Südtirol | 2–2 | 0–1 | 1–1 | 1–0 | 2–2 | 1–1 | 1–1 | 1–1 | 1–1 | 0–0 | 0–2 | 1–1 | 1–0 | 2–1 | 2–1 | 2–1 | 2–0 | — | 0–0 | 1–2 |
| Ternana | 1–0 | 1–0 | 2–2 | 0–0 | 1–0 | 1–2 | 0–3 | 1–1 | 2–3 | 1–2 | 2–1 | 3–0 | 1–1 | 1–0 | 2–1 | 1–0 | 0–0 | 0–1 | — | 1–4 |
| Venezia | 0–1 | 1–2 | 0–2 | 1–1 | 0–0 | 1–1 | 3–2 | 2–0 | 1–3 | 1–2 | 5–0 | 3–2 | 2–2 | 3–2 | 1–1 | 1–2 | 2–1 | 0–1 | 2–1 | — |

## Promotion play-offs

Rules:
* Preliminary round: the higher-placed team plays at home. If teams were tied after regular time, extra-time was played. If scores were still level, the higher-placed team advanced;
* Semi-finals: the higher-placed team played at home for the second leg. If teams were tied on aggregate, the higher-placed team advanced;
* Final: the higher-placed team played at home for the second leg. If teams were tied on aggregate, the higher-placed team was promoted to Serie A, unless the teams finished tied on points after regular season, in which case winner was decided by extra time and a penalty shoot-out if necessary.
| Preliminary round | Preliminary round | Preliminary round | Semi-finals | Semi-finals | Semi-finals | Semi-finals | Semi-finals | Final | Final | Final | Final | Final |
| | | | 5 | Cagliari | 3 | 0 | 3 | | | | | |
| 5 | Cagliari | 2 | 4 | Parma | 2 | 0 | 2 | | | | | |
| 8 | Venezia | 1 | | | | | | 5 | Cagliari | 1 | 1 | 2 |
| | | | | | | | | 3 | Bari | 1 | 0 | 1 |
| | | | 6 | Südtirol | 1 | 0 | 1 | | | | | |
| 6 | Südtirol | 1 | 3 | Bari | 0 | 1 | 1 | | | | | |
| 7 | Reggina | 0 | | | | | | | | | | |

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

The higher-placed team played at home for the second leg. If the teams were tied on aggregate, the lower-placed team was relegated to Serie C, unless the teams finished tied on points after the regular season, in which case the winner was decided by extra time and a penalty shoot-out if necessary.
| Team 1 | Agg.Tooltip Aggregate score | Team 2 | 1st leg | 2nd leg |
| Cosenza | 4–0 | Brescia | 1–0 | 3–0 |

### Second leg
## Season statistics
### Top goalscorers

| Rank | Player | Club | Goals |
| 1 | Gianluca Lapadula$^4$ | Cagliari | 25 |
| 2 | Joel Pohjanpalo | Venezia | 19 |
| 3 | Matteo Brunori | Palermo | 17 |
| 3 | Walid Cheddira | Bari | 17 |
| 5 | Samuele Mulattieri | Frosinone | 12 |
| 6 | Mirko Antonucci | Cittadella | 11 |
| 6 | Albert Guðmundsson | Genoa | 11 |
| 6 | Franco Vázquez | Parma | 11 |
| 9 | Massimo Coda | Genoa | 10 |
| 9 | Davide Diaw | Modena | 10 |
| 9 | Ettore Gliozzi | Pisa | 10 |

#### Note

$^4$ Player scored 4 goals in the play-offs.

### Hat-tricks

| Player | Club | Against | Result | Date |
| Cedric Gondo | Ascoli | Palermo | 3–2 (A) | 27 August 2022 |
| Joel Pohjanpalo$^4$ | Venezia | Modena | 5–0 (H) | 1 May 2023 |

#### Note

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

### Clean sheets

| Rank | Player | Club | Clean sheets | Game weeks |
| 1 | Stefano Turati | Frosinone | 20 | 1–2, 4, 6, 8, 10, 12–13, 16–17, 19, 22–24, 27–29, 32–34 |
| 2 | Josep Martínez | Genoa | 17 | 2–3, 6–8, 20, 22, 24, 26–31, 33–35 |
| 2 | Giacomo Poluzzi$^2$ | Südtirol | 17 | 5, 7, 10, 17–18, 20–21, 23, 25, 27, 29–30, 34–36 |
| 4 | Boris Radunović$^2$ | Cagliari | 16 | 4–5, 8, 19–21, 24, 26–27, 30, 32–33, 36, 38 |
| 5 | Elia Caprile$^1$ | Bari | 15 | 5–6, 11, 15–16, 18, 20, 26–29, 31–32, 37 |
| 6 | Antony Iannarilli | Ternana | 13 | 2, 6–8, 11–13, 16–17, 20, 23, 27, 30 |
| 7 | Stefano Gori | Perugia | 11 | 2, 5, 14–16, 19, 22–23, 25, 27, 30 |
| 7 | Elhan Kastrati | Cittadella | 11 | 4–5, 9–12, 15, 21, 23, 27, 31 |
| 9 | Enrico Alfonso | SPAL | 10 | 3, 5, 9–10, 12, 16, 18, 20, 26, 34 |
| 9 | Simone Colombi | Reggina | 10 | 3–6, 8, 15, 17–19, 32 |
| 9 | Riccardo Gagno | Modena | 10 | 7, 12, 19, 21, 23–24, 29, 31–32, 34 |
| 9 | Mirko Pigliacelli | Palermo | 10 | 1, 5, 10–12, 15–16, 21, 27, 32 |

#### Note

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

## Attendances

| # | Football club | Home games | Average attendance |
| 1 | Genoa CFC | 19 | 25,940 |
| 2 | SSC Bari | 19 | 24,057 |
| 3 | Palermo FC | 19 | 20,389 |
| 4 | Cagliari Calcio | 19 | 13,563 |
| 5 | Frosinone Calcio | 19 | 11,322 |
| 6 | Reggina 1914 | 19 | 11,159 |
| 7 | Parma Calcio 1913 | 19 | 10,752 |
| 8 | Modena FC | 19 | 10,079 |
| 9 | SPAL | 19 | 8,618 |
| 10 | Pisa SC | 19 | 7,969 |
| 11 | Benevento Calcio | 19 | 7,955 |
| 12 | Ascoli Calcio | 19 | 7,219 |
| 13 | AC Perugia | 19 | 6,125 |
| 14 | Cosenza Calcio | 19 | 6,034 |
| 15 | Ternana Calcio | 19 | 5,554 |
| 16 | Brescia Calcio | 19 | 5,214 |
| 17 | Como 1907 | 19 | 4,802 |
| 18 | Venezia FC | 19 | 4,532 |
| 19 | FC Südtirol | 19 | 4,427 |
| 20 | AS Cittadella | 19 | 3,502 |