:2021–22 Serie B

{{Short description|93rd season of second-tier football league in Italy}}

{{Use dmy dates|date=August 2020}}

{{Infobox football league season

| competition = Serie B

| dates = Regular season:
20 August 2021 – 6 May 2022
Play-offs and play-outs:
13 May 2022 – 29 May 2022

| winners = Lecce (2nd title)

| promoted = Lecce
Cremonese
Monza (via play-off)

| relegated = Vicenza (via play-out)
Alessandria
Crotone
Pordenone

| matches = 380

| matches footnote = 390 including play-offs and play-outs.

| total goals = 942

| total goals footnote = 969 including play-offs and play-outs.

| league topscorer = Massimo Coda
(20 goals)

| biggest home win = SPAL 5–0 Pordenone
(29 August 2021)
Ternana 5–0 Vicenza
(23 October 2021)
Benevento 5–0 Como
(23 February 2022)

| biggest away win = Pordenone 0–4 Parma
(12 September 2021)
Reggina 0–4 Alessandria
(12 December 2021)

| highest scoring = Ternana 4–4 Frosinone
(18 April 2022)

| longest wins = Benevento (14–18)
Pisa (1–5)
(5 matches){{Cite web|title=Serie B - Summary - Matches|url=https://int.soccerway.com/national/italy/serie-b/20212022/regular-season/r63606/|website=Soccerway}}

| longest unbeaten = Lecce (2–16)
(15 matches)

| longest winless = Cosenza (11–25)
(15 matches)

| longest losses = Pordenone (22–28)
(7 matches)

| highest attendance = 26,904
Lecce 1–0 Pordenone
(6 May 2022){{Cite web|title=Attendance Statistics of Serie B 2021-2022|url=https://www.stadiapostcards.com/B21-22.htm|website=StadiaPostcards}}

| lowest attendance = 450
Pordenone 2–0 Frosinone
(5 April 2022)

| attendance = 1,681,765

| average attendance = 4,312

| prevseason = 2020–21

| nextseason = 2022–23

| season = 2021–22

}}

The 2021–22 Serie B (known as the Serie BKT for sponsorship reasons) was the 90th season of the Serie B since its establishment in 1929.

Changes

The following teams have changed division since the 2020–21 season:

{{col-begin|width=auto}}

{{col-break}}

=To Serie B=

Relegated from Serie A

Promoted from Serie C

{{col-break|gap=5em}}

=From Serie B=

Promoted to Serie A

Relegated to Serie C

{{col-end}}

Teams

=Stadiums and locations=

{{Location map+ |Italy |width=450 |float=right |caption=Location of teams in 2021–22 Serie B|places=

{{Location map~ |Italy |lat=44.9202810 |long=8.61673900 |label=Alessandria |label_size=80 |position=left}}

{{Location map~ |Italy |lat=42.8610740 |long=13.5939140 |label=Ascoli |label_size=80 |position=right}}

{{Location map~ |Italy |lat=41.1165617 |long=14.7805328 |label=Benevento |label_size=80 |position=left}}

{{Location map~ |Italy |lat=45.5706709 |long=10.2348759 |label=Brescia |label_size=80 |position=top}}

{{Location map~ |Italy |lat=45.6429340 |long=11.7788887 |label=Cittadella |label_size=80 |position=right}}

{{Location map~ |Italy |lat=45.8138573 |long=9.07018950 |label=Como |label_size=80 |position=left}}

{{Location map~ |Italy |lat=39.3100190 |long=16.2308890 |label=Cosenza |label_size=80 |position=left}}

{{Location map~ |Italy |lat=45.1401550 |long=10.0348580 |label=Cremonese |label_size=80 |position=left}}

{{Location map~ |Italy |lat=39.0792956 |long=17.1144718 |label=Crotone |label_size=80 |position=bottom}}

{{Location map~ |Italy |lat=41.6340760 |long=13.3218790 |label=Frosinone |label_size=80 |position=left}}

{{Location map~ |Italy |lat=45.5443209 |long=11.5540596 |label=Vicenza |label_size=80 |position=bottom}}

{{Location map~ |Italy |lat=40.3651160 |long=18.2089750 |label=Lecce |label_size=80 |position=left}}

{{Location map~ |Italy |lat=45.5830513 |long=9.30590360 |label=Monza |label_size=80 |position=left}}

{{Location map~ |Italy |lat=44.7949194 |long=10.3362659 |label=Parma |label_size=80 |position=bottom}}

{{Location map~ |Italy |lat=43.1062165 |long=12.3548529 |label=Perugia |label_size=80 |position=left}}

{{Location map~ |Italy |lat=43.7252996 |long=10.3980134 |label=Pisa |label_size=80 |position=left}}

{{Location map~ |Italy |lat=45.9578926 |long=12.6463366 |label=Pordenone |label_size=80 |position=top}}

{{Location map~ |Italy |lat=38.0926425 |long=15.6329324 |label=Reggina |label_size=80 |position=top}}

{{Location map~ |Italy |lat=44.8401734 |long=11.6057773 |label=SPAL |label_size=80 |position=bottom}}

{{Location map~ |Italy |lat=42.5621580 |long=12.6352450 |label=Ternana |label_size=80 |position=left}}

}}

class="wikitable sortable"

! Team

! Home city

! Stadium

! Capacity

! 2020–21 season

Alessandria

| Alessandria

| Giuseppe Moccagatta

| style="text-align:center;"| {{Nts|5936}}

| Serie C play-off winners

Ascoli

| Ascoli Piceno

| Cino e Lillo Del Duca

| style="text-align:center;"| {{Nts|12461}}

| 16th in Serie B

Benevento

| Benevento

| Ciro Vigorito

| style="text-align:center;"| {{Nts|16867}}

| 18th in Serie A

Brescia

| Brescia

| Mario Rigamonti

| style="text-align:center;"| {{Nts|19500}}

| 7th in Serie B

Cittadella

| Cittadella (Padua)

| Pier Cesare Tombolato

| style="text-align:center;"| {{Nts|7623}}

| 6th in Serie B

Como

| Como

| Giuseppe Sinigaglia

| style="text-align:center;"| {{Nts|13602}}

| Serie C Group A champions

Cosenza

| Cosenza

| San Vito-Gigi Marulla

| style="text-align:center;"| {{Nts|20987}}

| |17th in Serie B

Cremonese

| Cremona

| Giovanni Zini

| style="text-align:center;"| {{Nts|20641}}

| 13th in Serie B

Crotone

| Crotone

| Ezio Scida

| style="text-align:center;"| {{Nts|16640}}

| 19th in Serie A

Frosinone

| Frosinone

| Benito Stirpe

| style="text-align:center;"| {{Nts|16227}}

| 10th in Serie B

Lecce

| Lecce

| Via del Mare

| style="text-align:center;"| {{Nts|31533}}

| 4th in Serie B

Monza

| Monza

| Brianteo

| style="text-align:center;"| {{Nts|10000}}

| 3rd in Serie B

Parma

| Parma

| Ennio Tardini

| style="text-align:center;"| {{Nts|27906}}

| 20th in Serie A

Perugia

| Perugia

| Renato Curi

| style="text-align:center;"| {{Nts|23625}}

| Serie C Group B champions

Pisa

| Pisa

| Arena Garibaldi

| style="text-align:center;"| {{Nts|25000}}

| 14th in Serie B

Pordenone

| Pordenone

| Guido Teghil (Lignano Sabbiadoro)

| style="text-align:center;"| {{Nts|5000}}

| 15th in Serie B

Reggina

| Reggio Calabria

| Oreste Granillo

| style="text-align:center;"| {{Nts|27543}}

| 11th in Serie B

SPAL

| Ferrara

| Paolo Mazza

| style="text-align:center;"| {{Nts|16134}}

| 9th in Serie B

Ternana

| Terni

| Libero Liberati

| style="text-align:center;"| {{Nts|22000}}

| Serie C Group C champions

Vicenza

| Vicenza

| Romeo Menti

| style="text-align:center;"| {{Nts|12000}}

| 12th in Serie B

{{clear}}

=Personnel and kits=

class="wikitable sortable"
Team

!President

!Manager

!Captain

!Kit manufacturer

!Shirt sponsor (front)

!Shirt sponsor (back)

!Shirt sponsor (sleeve)

!Shorts sponsor

Alessandria

| {{Flagicon|ITA}} Luca Di Masi

| {{Flagicon|ITA}} Moreno Longo

| {{Flagicon|ITA}} Giuseppe Prestia

| Adidas

| Y3K

|Gruppo AMAG

|ReLife Group

|None

Ascoli

| {{Flagicon|ITA}} Carlo Neri

| {{Flagicon|ITA}} Andrea Sottil

| {{Flagicon|ITA}} Federico Dionisi

| Νike

| Fainplast Compounds/Ascoli Piceno Candidata a Capitale italiana della cultura 2024, Bricofer/Distretti Ecologici/FEVO/Rabona Mobile

|Rabona Mobile/North Sixth Group/D&G Service 2008

|Ecotel Italia

|Gruppo Boero

Benevento

| {{Flagicon|ITA}} Oreste Vigorito

| {{Flagicon|ITA}} Fabio Caserta

| {{Flagicon|ITA}} Gaetano Letizia

| Nike

| IVPC, Rillo Construzioni

|Pasta Rummo

|Gesesa

|Comfort Zone

Brescia

| {{flagicon|ITA}} Massimo Cellino

| {{flagicon|ITA}} Eugenio Corini

| {{flagicon|ITA}} Dimitri Bisoli

| Kappa

| Rigamonti Salumificio

|OMR

|Pardgroup

|None

Cittadella

| {{Flagicon|ITA}} Andrea Gabrielli

| {{Flagicon|ITA}} Edoardo Gorini

| {{Flagicon|ITA}} Romano Perticone

| Mizuno

| Sirmax, Gruppo Gabrielli

|Stylplex (H)/Quartzforms (A)

|Pastificio Cecchin

|Metalservice

Como

| {{Flagicon|ENG}} Dennis Wise

| {{Flagicon|ITA}} Giacomo Gattuso

| {{Flagicon|ITA}} Alessandro Bellemo

| Legea

| Mola{{Cite web|date=2021-08-17|title=Le nuove maglie del Como!|url=https://comofootball.com/le-nuove-maglie-del-como/|access-date=2021-08-18|website=Como 1907|language=en-US}}

|Acqua S. Bernardo

|Randstad

|Pulsee Luce e Gas

Cosenza

| {{Flagicon|ITA}} Eugenio Guarascio

| {{Flagicon|ITA}} Pierpaolo Bisoli

| {{Flagicon|ITA}} Luca Palmiero

| Legea

| Hexergia/Quattropuntozero

|None

|La Valle Viaggi

|Supermercati Contè

Cremonese

| {{Flagicon|ITA}} Paolo Rossi

| {{Flagicon|ITA}} Fabio Pecchia

| {{Flagicon|ITA}} Daniel Ciofani

| Acerbis

| Ilta Inox (H)/Arinox (A), Arvedi

|Fattorie Cremona

|Synlab

|Arvedi Tubi Acciaio

Crotone

| {{flagicon|ITA}} Gianni Vrenna

| {{flagicon|ITA}} Francesco Modesto

| {{Flagicon|ARG}} Nahuel Estévez

| Zeus

| San Vincenzo Salumi, Envì Group

|Ford Vumbaca Group

|Econet

|GCM Industrie

Frosinone

| {{Flagicon|ITA}} Maurizio Stirpe

| {{flagicon|ITA}} Fabio Grosso

| {{Flagicon|ITA}} Nicolò Brighenti

| Zeus

| Banca Popolare del Frusinate, Portobello

|Polsinelli Enologia

|Orsolini

|Plasta Rei

Lecce

| {{Flagicon|ITA}} Saverio Sticchi Damiani

| {{Flagicon|ITA}} Marco Baroni

| {{Flagicon|ITA}} Fabio Lucioni

| M908

| Links Management & Technology, Studio Sticchi Damiani/Asfalti Isolbit

|Barocco SpA/DEGHI

|Banca Popolare Pugliese

|Asfalti Isolbit/Platino News

Monza

| {{flagicon|ITA}} Paolo Berlusconi

| {{flagicon|ITA}} Giovanni Stroppa

| {{flagicon|ITA}} Mario Sampirisi

| Lotto

| WithU, U-Power

|Pontenossa

|Febal Casa

|Dell'Orto

Parma

| {{flagicon|USA}} Kyle Krause

| {{flagicon|ITA}} Giuseppe Iachini

| {{Flagicon|ITA}} Gianluigi Buffon

| Erreà

| Cetilar, Gravity Sport

|EGO Airways

|Canovi Coperture

|COLSER Servizi

Perugia

| {{Flagicon|ITA}} Massimiliano Santopadre

| {{Flagicon|ITA}} Massimiliano Alvini

| {{Flagicon|ITA}} Gabriele Angella

| Frankie Garage

| Nutrihum, Vitakraft

|Re Salmone

|Sisas

|Mericat Group

Pisa

| {{Flagicon|ITA}} Giuseppe Corrado

| {{Flagicon|ITA}} Luca D'Angelo

| {{Flagicon|AUT}} Robert Gucher

| Adidas

| Cetilar, Synlab/Ferramenta Piampiani/Pisanova

|Hi-Turf Solution

|Maiora-AB Yachts

|Beapp/SEAC/Toni Luigi Scavi e Demolizioni/Cavarretta Assicurazioni

Pordenone

| {{flagicon|ITA}} Mauro Lovisa

| {{flagicon|ITA}} Bruno Tedino

| {{Flagicon|ITA}} Mirko Stefani

| Givova

| Omega Gruppo, 6sicuro.it

|Lignano Sabbiadoro

|Alea Office

|CRO Area Giovani

Reggina

| {{Flagicon|ITA}} Luca Gallo

| {{Flagicon|ITA}} Roberto Stellone

| {{flagicon|ITA}} Lorenzo Crisetig

| Macron

| Dalia/Centroriparo Bellè Gomme, Soseteg

|Puliservice

|Caffè Mauro

|D. Caracciolo & figli

SPAL

| {{Flagicon|USA}} Joe Tacopina

| {{flagicon|ITA}} Roberto Venturato

| {{Flagicon|ITA}} Francesco Vicari

| Macron

| Omega Group

|Errebi Technology

|Adamant BioNRG

|Golden Group

Ternana

| {{Flagicon|ITA}} Stefano Bandecchi

| {{Flagicon|ITA}} Cristiano Lucarelli

| {{Flagicon|ITA}} Marino Defendi

| Macron

| Unicusano, Terni Col Cuore

|None

|Orsolini

|None

Vicenza

| {{Flagicon|ITA}} Renzo Rosso

| {{flagicon|ITA}} Francesco Baldini

| {{flagicon|ITA}} Stefano Giacomelli

| Lotto

| Diesel, Aon (H)/Fendt (A)/SC Saldatura Carpenteria (T)

|Sicura (H)/Famila (A & T)

|Legor (H)

|Zanutta (H)/SC Saldatura Carpenteria (A)/Trivellato Industriali (T)

=Managerial changes=

class="wikitable sortable"
Team

! Outgoing manager

! Manner of departure

! Date of vacancy

! Position in table

! Replaced by

! Date of appointment

Lecce

| {{flagicon|ITA}} Eugenio Corini

| rowspan="2" |Sacked

| 22 May 2021{{cite web|url=http://www.uslecce.it/news/208470969862/risolto-unilateralmente-il-rapporto-contrattuale-con-il-tecnico-corini|title=RISOLTO UNILATERALMENTE IL RAPPORTO CONTRATTUALE CON IL TECNICO CORINI|publisher=U.S. Lecce|language=it|date=22 May 2021}}

| rowspan="12" |Pre-season

| {{flagicon|ITA}} Marco Baroni

| 1 July 2021{{cite web|url=http://www.uslecce.it/news/96801820166/conduzione-tecnica-affidata-a-mister-baroni|title=CONDUZIONE TECNICA AFFIDATA A MISTER BARONI|publisher=U.S. Lecce|language=it|date=31 May 2021}}

Parma

| {{flagicon|ITA}} Roberto D'Aversa

| 23 May 2021{{cite web|url=https://www.parmatoday.it/sport/parma-esonerato-d-aversa.html|title=Parma, esonerato D'Aversa|publisher=ParmaToday|language=it|date=23 May 2021}}

| {{flagicon|ITA}} Enzo Maresca

| 1 July 2021{{cite web|url=https://parmacalcio1913.com/2021/05/27/enzo-maresca-is-the-new-head-coach-of-parma-calcio/?lang=en|title=ENZO MARESCA IS THE NEW HEAD COACH OF PARMA CALCIO|publisher=Parma Calcio 1913|accessdate=27 May 2021|date=27 May 2021}}

Monza

| {{flagicon|ITA}} Cristian Brocchi

| rowspan="2"| Mutual consent

| 28 May 2021{{cite web|url=https://www.acmonza.com/it/news/2659/|title=COMUNICATO UFFICIALE|publisher=AC Monza|language=it|accessdate=28 May 2021|date=28 May 2021}}

|{{flagicon|ITA}} Giovanni Stroppa

| 1 July 2021{{cite web |url=https://www.acmonza.com/en/news/2661/ |title=Welcome Back Giovanni Stroppa! |publisher=AC Monza |date=28 May 2021}}

Perugia

| {{flagicon|ITA}} Fabio Caserta

| 14 June 2021{{cite web|url=https://www.acperugiacalcio.com/comunicato-ufficiale-8/|publisher=Perugia Calcio|language=it|title=COMUNICATO UFFICIALE |accessdate=14 June 2021|date=14 June 2021}}

| {{Flagicon|ITA}} Massimiliano Alvini

| 1 July 2021{{cite web|url=https://www.acperugiacalcio.com/alvini-allenatore-del-perugia/|publisher=Perugia Calcio|language=it|title=ALVINI È IL NUOVO ALLENATORE DEL PERUGIA! |accessdate=16 June 2021|date=16 June 2021}}

Reggina

| {{flagicon|ITA}} Marco Baroni

| rowspan="7"| End of contract

| 30 June 2021

| {{flagicon|ITA}} Alfredo Aglietti

| 1 July 2021{{cite web|url=https://www.reggina1914.it/notizie/21219/|title=BENTORNATO MISTER!|publisher=Reggina 1914|language=it|date=31 May 2021}}

Crotone

| {{flagicon|ITA}} Serse Cosmi

| 30 June 2021{{cite web|url=https://www.fccrotone.it/in-evidenza/il-presidente-saluta-mister-cosmi/|title=Il presidente saluta mister Cosmi|publisher=F.C. Crotone|language=it|date=31 May 2021}}

| {{flagicon|ITA}} Francesco Modesto

| 1 July 2021{{cite web|url=https://www.fccrotone.it/in-evidenza/un-crotonese-alla-guida-dei-rossoblu-bentornato-a-casa-modesto/|title=Un crotonese alla guida dei rossoblù: bentornato a casa Modesto!|publisher=F.C. Crotone|language=it|date=9 June 2021}}

Pordenone

| {{flagicon|ITA}} Maurizio Domizzi

| 30 June 2021

| {{flagicon|ITA}} Massimo Paci

| 1 July 2021{{cite web|url=https://www.pordenonecalcio.com/2021/06/03/massimo-paci-nuovo-allenatore-del-pordenone-calcio/|title=MASSIMO PACI NUOVO ALLENATORE DEL PORDENONE CALCIO|publisher=Pordenone Calcio|language=it|date=3 June 2021}}

Benevento

| {{flagicon|ITA}} Filippo Inzaghi

| 30 June 2021

| {{flagicon|ITA}} Fabio Caserta

| 1 July 2021{{cite web|url=https://www.beneventocalcio.club/news/notizie/3917/fabio-caserta-e-il-nuovo-allenatore-del-benevento.shtml|title=FABIO CASERTA È IL NUOVO ALLENATORE DEL BENEVENTO|publisher=Benevento Calcio|language=it|date=15 June 2021}}

Brescia

| {{flagicon|ESP}} Pep Clotet

| 30 June 2021

| {{flagicon|ITA}} Filippo Inzaghi

| 30 June 2021{{cite web|url=https://www.bresciacalcio.it/news/ultime-news/13331/filippo-inzaghi-e-il-nuovo-allenatore-del-brescia|title=Filippo Inzaghi è il nuovo allenatore del Brescia|publisher=Brescia Calcio|language=it|date=9 June 2021}}

SPAL

| {{flagicon|ITA}} Massimo Rastelli

| 30 June 2021

| {{flagicon|ESP}} Pep Clotet

| 2 July 2021{{cite web|url=https://www.spalferrara.it/josep-clotet-ruiz-e-il-nuovo-responsabile-della-prima-squadra-spal/|title=JOSEP CLOTET RUIZ E' IL NUOVO RESPONSABILE DELLA PRIMA SQUADRA SPAL|publisher=S.P.A.L.|language=it|accessdate=20 July 2021|date=2 July 2021|archive-date=11 July 2021|archive-url=https://web.archive.org/web/20210711165820/https://www.spalferrara.it/josep-clotet-ruiz-e-il-nuovo-responsabile-della-prima-squadra-spal/|url-status=dead}}

Cittadella

| {{flagicon|ITA}} Roberto Venturato

| 30 June 2021{{cite web|url=https://www.ascittadella.it/notizie/grazie-roberto/|title=GRAZIE ROBERTO!|publisher=A.S. Cittadella|language=it|accessdate=20 July 2021 |date=29 June 2021}}

| {{flagicon|ITA}} Edoardo Gorini

| 19 July 2021{{cite web|url=https://www.ascittadella.it/in-evidenza/mister-edoardo-gorini/|title=Mister EDOARDO GORINI! |publisher=A.S. Cittadella|language=it|accessdate=20 July 2021 |date=19 July 2021}}

Cosenza

| {{flagicon|ITA}} Roberto Occhiuzzi

| rowspan="14" |Sacked

| 22 July 2021{{cite web|title=Cosenza, il DS Goretti ha comunicato ad Occhiuzzi l'esonero |url=https://www.tuttoc.com/calciomercato/cosenza-il-ds-goretti-ha-comunicato-ad-occhiuzzi-l-esonero-288913|publisher=TuttoC.com|language=it|accessdate=12 August 2021 |date=22 July 2021}}

| {{flagicon|ITA}} Marco Zaffaroni

| 6 August 2021{{cite web|url=http://www.ilcosenza.it/2021/08/06/marco-zaffaroni-e-il-nuovo-allenatore-del-cosenza-calcio/|title=MARCO ZAFFARONI È IL NUOVO ALLENATORE DEL COSENZA CALCIO |publisher=Cosenza Calcio|language=it|accessdate=12 August 2021 |date=6 August 2021}}

Pordenone

| {{flagicon|ITA}} Massimo Paci

| 30 August 2021{{cite web|url=https://www.pordenonecalcio.com/2021/08/30/comunicazione-ufficiale-conduzione-tecnica/|title=COMUNICAZIONE UFFICIALE CONDUZIONE TECNICA|publisher=Pordenone Calcio|language=it|date=30 August 2021}}

| 20th

| {{flagicon|ITA}} Massimo Rastelli

| 31 August 2021{{cite web|url=https://www.pordenonecalcio.com/2021/08/31/massimo-rastelli-nuovo-allenatore-del-pordenone/|title=MASSIMO RASTELLI NUOVO ALLENATORE DEL PORDENONE|publisher=Pordenone Calcio|language=it|date=31 August 2021}}

Vicenza

| {{flagicon|ITA}} Domenico Di Carlo

| 22 September 2021{{cite web|url=https://www.lrvicenza.net/ufficiale-interrotto-il-rapporto-con-mister-di-carlo/|title=Ufficiale: interrotto il rapporto con mister Di Carlo|publisher=L.R. Vicenza|language=it|date=22 September 2021}}

| 19th

| {{flagicon|ITA}} Cristian Brocchi

| 22 September 2021{{cite web|url=https://www.lrvicenza.net/ufficiale-cristian-brocchi-nuovo-allenatore-responsabile-della-prima-squadra/|title=Ufficiale: Cristian Brocchi nuovo Allenatore Responsabile della Prima Squadra|publisher=L.R. Vicenza|language=it|date=22 September 2021}}

Pordenone

| {{flagicon|ITA}} Massimo Rastelli

| 16 October 2021{{cite web|url=https://www.pordenonecalcio.com/2021/10/16/comunicazione-ufficiale-guida-tecnica/|title=COMUNICAZIONE UFFICIALE GUIDA TECNICA|publisher=Pordenone Calcio|language=it|date=16 October 2021}}

| 20th

| {{flagicon|ITA}} Bruno Tedino

| 18 October 2021{{cite web|url=https://www.pordenonecalcio.com/2021/10/18/bentornato-mister-bruno-tedino/|title=BENTORNATO MISTER BRUNO TEDINO!|publisher=Pordenone Calcio|language=it|date=18 October 2021}}

Crotone

| {{flagicon|ITA}} Francesco Modesto

| 29 October 2021{{cite web|url=https://www.fccrotone.it/news/modesto-sollevato-dallincarico-marino-e-il-nuovo-allenatore/|title=Modesto sollevato dall'incarico, Marino è il nuovo allenatore|publisher=F.C. Crotone|language=it|date=29 October 2021}}

| 18th

| {{flagicon|ITA}} Pasquale Marino

| 29 October 2021

Parma

| {{flagicon|ITA}} Enzo Maresca

| 23 November 2021{{cite web|url=https://parmacalcio1913.com/2021/11/23/enzo-maresca-sollevato-dallincarico/|title=ENZO MARESCA SOLLEVATO DALL'INCARICO|publisher=Parma Calcio 1913|language=it|date=23 November 2021}}

| 14th

| {{flagicon|ITA}} Giuseppe Iachini

| 23 November 2021{{cite web|url=https://parmacalcio1913.com/2021/11/23/giuseppe-iachini-e-lallenatore-crociato/|title=GIUSEPPE IACHINI È L'ALLENATORE CROCIATO|publisher=Parma Calcio 1913|language=it|date=23 November 2021}}

Cosenza

|{{flagicon|ITA}} Marco Zaffaroni

|6 December 2021{{Cite web|date=2021-12-06|title=Mister Marco Zaffaroni sollevato dall'incarico|url=http://www.ilcosenza.it/2021/12/06/mister-marco-zaffaroni-sollevato-dallincarico/|access-date=2021-12-08|website=Sito ufficiale del Cosenza Calcio|language=it-IT}}

|16th

|{{flagicon|ITA}} Roberto Occhiuzzi

|7 December 2021{{Cite web|date=2021-12-07|title=Roberto Occhiuzzi torna sulla panchina del Cosenza Calcio|url=http://www.ilcosenza.it/2021/12/07/roberto-occhiuzzi-torna-sulla-panchina-del-cosenza-calcio/|access-date=2021-12-08|website=Sito ufficiale del Cosenza Calcio|language=it-IT}}

Crotone

|{{flagicon|ITA}} Pasquale Marino

|10 December 2021{{Cite web|date=2021-12-10|title=Marino sollevato dall'incarico: Modesto torna in panchina|url=https://www.fccrotone.it/news/marino-sollevato-dallincarico-modesto-torna-in-panchina/|access-date=2021-12-11|website=F.C. Crotone|language=it-IT}}

|18th

|{{flagicon|ITA}} Francesco Modesto

|10 December 2021

Reggina

|{{flagicon|ITA}} Alfredo Aglietti

|13 December 2021{{cite web|url=https://www.reggina1914.it/notizie/esonero-mister-aglietti/|title=ESONERO MISTER AGLIETTI|publisher=Reggina 1914|language=it|date=13 December 2021}}

|13th

|{{flagicon|ITA}} Domenico Toscano

|14 December 2021{{cite web|url=https://www.reggina1914.it/notizie/mimmo-toscano-torna-in-amaranto/|title=MIMMO TOSCANO TORNA IN AMARANTO|publisher=Reggina 1914|language=it|date=14 December 2021}}

SPAL

|{{flagicon|ESP}} Pep Clotet

|5 January 2022{{cite web|url=https://www.spalferrara.it/mister-clotet-sollevato-dallincarico-di-responsabile-tecnico-della-prima-squadra-spal/|title=MISTER CLOTET SOLLEVATO DALL'INCARICO DI RESPONSABILE TECNICO DELLA PRIMA SQUADRA SPAL|publisher=S.P.A.L.|language=it|date=5 January 2022|access-date=5 January 2022|archive-date=7 January 2022|archive-url=https://web.archive.org/web/20220107055319/https://www.spalferrara.it/mister-clotet-sollevato-dallincarico-di-responsabile-tecnico-della-prima-squadra-spal/|url-status=dead}}

|15th

|{{flagicon|ITA}} Roberto Venturato

|5 January 2022{{cite web|url=https://www.spalferrara.it/roberto-venturato-e-il-nuovo-responsabile-tecnico-della-prima-squadra-spal/|title=ROBERTO VENTURATO E' IL NUOVO RESPONSABILE TECNICO DELLA PRIMA SQUADRA SPAL|publisher=S.P.A.L.|language=it|date=5 January 2022|access-date=5 January 2022|archive-date=5 January 2022|archive-url=https://web.archive.org/web/20220105183718/https://www.spalferrara.it/roberto-venturato-e-il-nuovo-responsabile-tecnico-della-prima-squadra-spal/|url-status=dead}}

Reggina

|{{flagicon|ITA}} Domenico Toscano

|23 January 2022{{cite web|url=https://www.reggina1914.it/notizie/esonero-mister-toscano/|title=ESONERO MISTER TOSCANO|publisher=Reggina 1914|language=it|date=23 January 2022}}

|14th

|{{flagicon|ITA}} Roberto Stellone

|24 January 2022{{cite web|url=https://www.reggina1914.it/notizie/roberto-stellone-e-il-nuovo-tecnico-amaranto/|title=ROBERTO STELLONE È IL NUOVO TECNICO AMARANTO|publisher=Reggina 1914|language=it|date=24 January 2022}}

Cosenza

|{{flagicon|ITA}} Roberto Occhiuzzi

|16 February 2022{{Cite web|date=2022-02-16|title=Cosenza, finisce l'avventura di Occhiuzzi in panchina: tecnico esonerato|url=https://www.tuttomercatoweb.com/serie-b/ufficiale-cosenza-finisce-l-avventura-di-occhiuzzi-in-panchina-tecnico-esonerato-1646908|access-date=2022-02-16|website=TuttoMercatoWeb|language=it-IT}}

|17th

|{{flagicon|ITA}} Pierpaolo Bisoli

|17 February 2022{{Cite web|date=17 February 2022|title=Cosenza, ecco il nuovo allenatore: Bisoli firma fino al termine della stagione|url=https://www.tuttomercatoweb.com/serie-b/ufficiale-cosenza-ecco-il-nuovo-allenatore-bisoli-firma-fino-al-termine-della-stagione-1647503|access-date=17 February 2022|publisher=TuttoMercatoWeb|language=it}}

Brescia

|{{flagicon|ITA}} Filippo Inzaghi

|23 March 2022{{Cite web|date=2022-03-22|title=Filippo Inzaghi non è più l'allenatore del Brescia|url=https://www.bresciacalcio.it/news/ultime-news/13764/filippo-inzaghi-non-e-piu-l-allenatore-del-brescia|access-date=2022-03-22|website=Brescia Calcio|language=it-IT}}

|5th

|{{flagicon|ITA}} Eugenio Corini

|23 March 2022{{Cite web|date=2022-03-22|title=Eugenio Corini è il nuovo allenatore del Brescia|url=https://www.bresciacalcio.it/news/ultime-news/13843/eugenio-corini-e-il-nuovo-allenatore-del-brescia|access-date=2022-03-22|website=Brescia Calcio|language=it-IT|archive-date=26 March 2022|archive-url=https://web.archive.org/web/20220326023711/https://www.bresciacalcio.it/news/ultime-news/13843/eugenio-corini-e-il-nuovo-allenatore-del-brescia|url-status=dead}}

Vicenza

| {{flagicon|ITA}} Cristian Brocchi

| 11 April 2022{{Cite web|title=Cristian Brocchi sollevato dall'incarico|date=9 April 2022 |url=https://www.lrvicenza.net/cristian-brocchi-sollevato-dallincarico/|access-date=2022-04-11|publisher=L.R. Vicenza|language=it}}

| 18th

| {{flagicon|ITA}} Francesco Baldini

| 12 April 2022{{cite web|publisher=L.R. Vicenza|url=https://www.lrvicenza.net/francesco-baldini-nuovo-allenatore-responsabile-della-prima-squadra/|title=Francesco Baldini nuovo Allenatore Responsabile della Prima Squadra|date=12 April 2022|accessdate=12 April 2022|language=Italian}}

League table

{{2021–22 Serie B table}}

=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.

{{#invoke:sports rbr table|table|sortable=y|legendpos=br

| team1= Lecce

| pos1= 20/15/16/12/10/6/4/3/4/5/3/2/3/3/3/2/3/4/5/3/1/1/2/1/2/2/1/2/2/2/4/2/2/1/2/1/1/1

| team2= Cremonese

| pos2= 12/8/9/10/14/11/13/13/11/10/9/11/8/8/5/5/5/6/6/6/7/5/5/5/5/6/6/5/5/4/3/4/3/2/3/3/3/2

| team3= Pisa

| pos3= 7/3/2/1/1/1/1/1/1/1/1/3/2/1/2/1/1/1/1/1/2/3/4/3/4/5/4/3/1/3/2/3/4/6/5/4/4/3

| team4= Monza

| pos4= 1/10/5/3/6/3/2/2/5/6/7/8/5/6/8/6/6/3/4/5/4/2/1/2/3/1/3/1/3/1/1/1/1/3/1/2/2/4

| team5= Brescia

| pos5= 2/1/1/2/3/2/3/4/2/4/2/1/1/2/1/3/2/2/2/2/3/4/3/4/1/3/2/4/4/5/5/5/5/4/6/5/6/5

| team6= Ascoli

| pos6= 4/4/3/5/2/4/5/5/9/9/13/10/7/7/6/7/9/10/9/8/9/9/9/7/9/7/9/8/8/7/8/7/7/7/7/7/7/6

| team7= Benevento

| pos7= 3/11/11/9/4/5/6/6/3/2/4/6/11/5/4/4/4/5/3/4/6/6/7/6/6/4/5/6/6/6/7/6/6/5/4/6/5/7

| team8= Perugia

| pos8= 6/12/12/11/9/10/9/7/8/8/8/12/9/10/9/9/8/9/10/10/10/8/8/9/7/9/10/9/9/9/9/9/9/9/9/9/9/8

| team9= Frosinone

| pos9= 10/5/7/6/5/7/8/10/7/7/6/5/4/4/7/8/10/8/7/7/5/7/6/8/8/8/7/7/7/8/6/8/8/8/8/8/8/9

| team10= Ternana

| pos10= 19/17/19/17/15/15/15/14/10/14/16/13/13/13/13/11/12/12/13/12/12/13/14/13/13/14/13/13/12/13/13/11/13/11/10/10/10/10

| team11= Cittadella

| pos11= 5/2/6/4/8/12/7/9/12/16/12/9/10/11/10/10/7/7/8/9/8/10/10/10/10/10/8/10/10/10/10/10/11/10/11/11/11/11

| team12= Parma

| pos12= 11/6/4/8/12/13/12/12/15/13/10/14/14/14/14/15/15/13/12/13/13/11/13/14/14/13/14/14/14/12/14/14/10/12/13/13/14/12

| team13= Como

| pos13= 8/13/14/16/17/16/16/16/16/15/11/7/12/12/12/13/11/11/11/11/11/12/11/11/11/11/12/12/13/14/12/12/12/13/14/14/13/13

| team14= Reggina

| pos14= 13/7/8/7/7/8/10/8/6/3/5/4/6/9/11/12/13/14/14/14/15/14/12/12/12/12/11/11/11/11/11/13/14/14/12/12/12/14

| team15= SPAL

| pos15= 17/9/10/13/11/14/14/15/14/12/15/15/16/15/15/14/14/15/15/15/14/15/16/15/15/15/15/15/15/15/15/15/15/15/15/15/15/15

| team16= Cosenza

| pos16= 15/19/13/14/13/9/11/11/13/11/14/16/15/16/16/16/17/17/17/17/17/17/17/17/17/17/17/17/17/17/17/17/17/17/17/17/17/16

| team17= Vicenza

| pos17= 18/18/17/19/19/20/19/19/19/19/19/19/19/19/19/19/20/20/20/20/20/19/19/19/19/18/18/18/18/18/18/18/18/18/18/18/18/17

| team18= Alessandria

| pos18= 14/16/18/18/20/18/18/18/18/17/17/18/17/17/17/17/16/16/16/16/16/16/15/16/16/16/16/16/16/16/16/16/16/16/16/16/16/18

| team19= Crotone

| pos19= 9/14/15/15/16/17/17/17/17/18/18/17/18/18/18/18/18/18/18/18/18/18/18/18/18/19/19/19/19/19/19/19/19/19/19/19/19/19

| team20= Pordenone

| pos20= 16/20/20/20/18/19/20/20/20/20/20/20/20/20/20/20/19/19/19/19/19/20/20/20/20/20/20/20/20/20/20/20/20/20/20/20/20/20

| color_1=gold |text_1=Leader and promotion to Serie A

| color_2=green1 |text_2=Promotion to Serie A

| color_3-4=blue1 |text_3-4=Play-off semifinals

| color_5-8=blue2 |text_5-8=Play-off preliminary round

| color_16-17=red2 |text_16-17=Play-out

| color_18-20=red1 |text_18-20=Relegation to Serie C

|source=[https://www.worldfootball.net/schedule/ita-serie-b-2021-2022-spieltag/38/ WorldFootball.net]

|update=complete

}}

Results

{{#invoke:sports results|main

| source = [http://www.legab.it Serie B] (in Italian), [https://int.soccerway.com/national/italy/serie-b/20212022/regular-season/r63606/ Soccerway] (in English)

| a_note =

| update = complete

| matches_style = FBR

|team1 = ALE |team2 = ASC |team3 = BEN |team4 = BRE |team5 = CIT |team6 = COM |team7 = COS |team8 = CRE |team9 = CRO |team10 = FRO |team11 = LEC |team12 = MON |team13 = PAR |team14 = PER |team15 = PIS |team16 = POR |team17 = REG |team18 = SPA |team19 = TER |team20 = VIC

|name_ALE = Alessandria

|name_ASC = Ascoli

|name_BEN = Benevento

|name_BRE = Brescia

|name_CIT = Cittadella

|name_COM = Como

|name_COS = Cosenza

|name_CRE = Cremonese

|name_CRO = Crotone

|name_FRO = Frosinone

|name_LEC = Lecce

|name_MON = Monza

|name_PAR = Parma

|name_PER = Perugia

|name_PIS = Pisa

|name_POR = Pordenone

|name_REG = Reggina

|name_SPA = SPAL

|name_TER = Ternana

|name_VIC = Vicenza

| match_ALE_ASC = 1–3

| match_ALE_BEN = 2–0

| match_ALE_BRE = 1–3

| match_ALE_CIT = 0–1

| match_ALE_COM = 1–1

| match_ALE_COS = 1–0

| match_ALE_CRE = 1–0

| match_ALE_CRO = 1–0

| match_ALE_FRO = 1–1

| match_ALE_LEC = 1–1

| match_ALE_MON = 0–3

| match_ALE_PAR = 0–2

| match_ALE_PER = 1–2

| match_ALE_PIS = 1–1

| match_ALE_POR = 2–0

| match_ALE_REG = 0–0

| match_ALE_SPA = 2–2

| match_ALE_TER = 0–2

| match_ALE_VIC = 0–1

| match_ASC_ALE = 3–0

| match_ASC_BEN = 0–2

| match_ASC_BRE = 2–3

| match_ASC_CIT = 0–0

| match_ASC_COM = 1–1

| match_ASC_COS = 1–0

| match_ASC_CRE = 1–4

| match_ASC_CRO = 2–1

| match_ASC_FRO = 1–1

| match_ASC_LEC = 1–1

| match_ASC_MON = 1–1

| match_ASC_PAR = 0–0

| match_ASC_PER = 0–1

| match_ASC_PIS = 2–0

| match_ASC_POR = 1–0

| match_ASC_REG = 2–0

| match_ASC_SPA = 0–1

| match_ASC_TER = 4–1

| match_ASC_VIC = 2–1

| match_BEN_ALE = 4–3

| match_BEN_ASC = 0–2

| match_BEN_BRE = 0–1

| match_BEN_CIT = 4–1

| match_BEN_COM = 5–0

| match_BEN_COS = 3–0

| match_BEN_CRE = 1–1

| match_BEN_CRO = 3–1

| match_BEN_FRO = 1–4

| match_BEN_LEC = 0–0

| match_BEN_MON = 3–1

| match_BEN_PAR = 0–0

| match_BEN_PER = 0–0

| match_BEN_PIS = 5–1

| match_BEN_POR = 2–1

| match_BEN_REG = 4–0

| match_BEN_SPA = 1–2

| match_BEN_TER = 1–2

| match_BEN_VIC = 1–0

| match_BRE_ALE = 1–1

| match_BRE_ASC = 2–0

| match_BRE_BEN = 2–2

| match_BRE_CIT = 1–1

| match_BRE_COM = 2–4

| match_BRE_COS = 5–1

| match_BRE_CRE = 1–0

| match_BRE_CRO = 2–2

| match_BRE_FRO = 2–2

| match_BRE_LEC = 1–1

| match_BRE_MON = 0–2

| match_BRE_PAR = 1–0

| match_BRE_PER = 2–1

| match_BRE_PIS = 0–1

| match_BRE_POR = 1–0

| match_BRE_REG = 3–0

| match_BRE_SPA = 1–1

| match_BRE_TER = 1–1

| match_BRE_VIC = 2–0

| match_CIT_ALE = 1–2

| match_CIT_ASC = 2–0

| match_CIT_BEN = 0–1

| match_CIT_BRE = 1–0

| match_CIT_COS = 1–1

| match_CIT_COM = 2–2

| match_CIT_CRE = 0–2

| match_CIT_CRO = 4–2

| match_CIT_FRO = 3–0

| match_CIT_LEC = 1–2

| match_CIT_MON = 1–2

| match_CIT_PAR = 1–2

| match_CIT_PER = 0–0

| match_CIT_PIS = 2–0

| match_CIT_POR = 1–0

| match_CIT_REG = 0–0

| match_CIT_SPA = 0–0

| match_CIT_TER = 1–2

| match_CIT_VIC = 1–0

| match_COM_ALE = 2–0

| match_COM_ASC = 0–1

| match_COM_BEN = 1–1

| match_COM_BRE = 1–1

| match_COM_COS = 2–1

| match_COM_CIT = 1–2

| match_COM_CRE = 1–2

| match_COM_CRO = 1–1

| match_COM_FRO = 0–2

| match_COM_LEC = 1–1

| match_COM_MON = 2–0

| match_COM_PAR = 1–1

| match_COM_PER = 4–1

| match_COM_PIS = 0–1

| match_COM_POR = 1–0

| match_COM_REG = 1–1

| match_COM_SPA = 0–2

| match_COM_TER = 1–1

| match_COM_VIC = 0–2

| match_COS_ALE = 2–1

| match_COS_ASC = 1–3

| match_COS_BEN = 1–0

| match_COS_BRE = 0–0

| match_COS_CIT = 1–0

| match_COS_COM = 2–0

| match_COS_CRE = 0–2

| match_COS_CRO = 1–0

| match_COS_FRO = 1–1

| match_COS_LEC = 2–2

| match_COS_MON = 0–2

| match_COS_PAR = 1–3

| match_COS_PER = 1–2

| match_COS_PIS = 0–2

| match_COS_POR = 3–1

| match_COS_REG = 0–1

| match_COS_SPA = 0–1

| match_COS_TER = 3–1

| match_COS_VIC = 2–1

| match_CRE_ALE = 2–1

| match_CRE_ASC = 0–1

| match_CRE_BEN = 1–1

| match_CRE_BRE = 2–1

| match_CRE_COS = 3–1

| match_CRE_CIT = 2–0

| match_CRE_COM = 2–0

| match_CRE_CRO = 3–2

| match_CRE_FRO = 1–1

| match_CRE_LEC = 3–0

| match_CRE_MON = 3–2

| match_CRE_PAR = 3–1

| match_CRE_PER = 0–3

| match_CRE_PIS = 1–1

| match_CRE_POR = 2–1

| match_CRE_REG = 1–1

| match_CRE_SPA = 1–1

| match_CRE_TER = 2–0

| match_CRE_VIC = 0–0

| match_CRO_ALE = 0–0

| match_CRO_ASC = 2–2

| match_CRO_BEN = 0–2

| match_CRO_BRE = 0–1

| match_CRO_COS = 3–3

| match_CRO_CIT = 0–0

| match_CRO_COM = 2–2

| match_CRO_CRE = 3–1

| match_CRO_FRO = 2–0

| match_CRO_LEC = 0–3

| match_CRO_MON = 1–1

| match_CRO_PAR = 0–1

| match_CRO_PER = 1–1

| match_CRO_PIS = 2–1

| match_CRO_POR = 4–1

| match_CRO_REG = 1–1

| match_CRO_SPA = 1–2

| match_CRO_TER = 1–2

| match_CRO_VIC = 0–1

| match_FRO_ALE = 3–0

| match_FRO_ASC = 2–1

| match_FRO_BEN = 2–0

| match_FRO_BRE = 2–2

| match_FRO_COS = 1–0

| match_FRO_CIT = 0–1

| match_FRO_COM = 1–2

| match_FRO_CRE = 2–1

| match_FRO_CRO = 2–1

| match_FRO_LEC = 0–0

| match_FRO_MON = 4–1

| match_FRO_PAR = 2–2

| match_FRO_PER = 0–0

| match_FRO_PIS = 1–2

| match_FRO_POR = 2–2

| match_FRO_REG = 3–0

| match_FRO_SPA = 4–0

| match_FRO_TER = 1–1

| match_FRO_VIC = 2–0

| match_LEC_ALE = 3–2

| match_LEC_ASC = 3–1

| match_LEC_BEN = 1–1

| match_LEC_BRE = 1–1

| match_LEC_COS = 3–1

| match_LEC_CIT = 1–2

| match_LEC_COM = 1–1

| match_LEC_CRE = 2–1

| match_LEC_CRO = 3–0

| match_LEC_FRO = 1–0

| match_LEC_MON = 3–0

| match_LEC_PAR = 4–0

| match_LEC_PER = 0–0

| match_LEC_PIS = 2–0

| match_LEC_POR = 1–0

| match_LEC_REG = 2–0

| match_LEC_SPA = 1–0

| match_LEC_TER = 3–3

| match_LEC_VIC = 2–1

| match_MON_ALE = 1–0

| match_MON_ASC = 2–0

| match_MON_BEN = 3–0

| match_MON_BRE = 1–1

| match_MON_COS = 4–1

| match_MON_CIT = 1–0

| match_MON_COM = 3–2

| match_MON_CRE = 1–0

| match_MON_CRO = 1–0

| match_MON_FRO = 3–2

| match_MON_LEC = 0–1

| match_MON_PAR = 1–1

| match_MON_PER = 2–2

| match_MON_PIS = 1–2

| match_MON_POR = 3–1

| match_MON_REG = 1–0

| match_MON_SPA = 4–0

| match_MON_TER = 1–1

| match_MON_VIC = 4–0

| match_PAR_ALE = 2–2

| match_PAR_ASC = 0–1

| match_PAR_BEN = 1–0

| match_PAR_BRE = 0–1

| match_PAR_COS = 1–1

| match_PAR_CIT = 1–1

| match_PAR_COM = 4–3

| match_PAR_CRE = 1–2

| match_PAR_CRO = 1–1

| match_PAR_FRO = 0–1

| match_PAR_LEC = 0–0

| match_PAR_MON = 0–0

| match_PAR_PER = 1–1

| match_PAR_PIS = 1–1

| match_PAR_POR = 4–1

| match_PAR_REG = 1–1

| match_PAR_SPA = 4–0

| match_PAR_TER = 2–3

| match_PAR_VIC = 1–0

| match_PER_ALE = 1–1

| match_PER_ASC = 2–3

| match_PER_BEN = 0–1

| match_PER_BRE = 1–0

| match_PER_COS = 1–1

| match_PER_CIT = 1–1

| match_PER_COM = 0–1

| match_PER_CRE = 0–0

| match_PER_CRO = 2–0

| match_PER_FRO = 3–0

| match_PER_LEC = 1–1

| match_PER_MON = 1–0

| match_PER_PAR = 2–1

| match_PER_PIS = 1–1

| match_PER_POR = 0–1

| match_PER_REG = 0–2

| match_PER_SPA = 1–1

| match_PER_TER = 1–1

| match_PER_VIC = 1–0

| match_PIS_ALE = 2–0

| match_PIS_ASC = 1–1

| match_PIS_BEN = 1–0

| match_PIS_BRE = 0–0

| match_PIS_COS = 1–1

| match_PIS_CIT = 1–0

| match_PIS_COM = 3–1

| match_PIS_CRE = 3–0

| match_PIS_CRO = 3–2

| match_PIS_FRO = 1–3

| match_PIS_LEC = 1–0

| match_PIS_MON = 2–1

| match_PIS_PAR = 0–0

| match_PIS_PER = 1–1

| match_PIS_POR = 1–1

| match_PIS_REG = 2–0

| match_PIS_SPA = 1–0

| match_PIS_TER = 0–0

| match_PIS_VIC = 2–2

| match_POR_ALE = 2–0

| match_POR_ASC = 0–1

| match_POR_BEN = 1–4

| match_POR_BRE = 1–1

| match_POR_COS = 1–1

| match_POR_CIT = 0–1

| match_POR_COM = 1–1

| match_POR_CRE = 2–2

| match_POR_CRO = 3–3

| match_POR_FRO = 2–0

| match_POR_LEC = 0–1

| match_POR_MON = 1–4

| match_POR_PAR = 0–4

| match_POR_PER = 0–1

| match_POR_PIS = 0–1

| match_POR_REG = 1–1

| match_POR_SPA = 1–1

| match_POR_TER = 1–3

| match_POR_VIC = 2–4

| match_REG_ALE = 0–4

| match_REG_ASC = 1–2

| match_REG_BEN = 0–3

| match_REG_BRE = 0–2

| match_REG_COS = 1–0

| match_REG_CIT = 0–1

| match_REG_COM = 1–4

| match_REG_CRE = 1–2

| match_REG_CRO = 1–0

| match_REG_FRO = 0–0

| match_REG_LEC = 1–0

| match_REG_MON = 0–0

| match_REG_PAR = 2–1

| match_REG_PER = 0–1

| match_REG_PIS = 1–0

| match_REG_POR = 2–0

| match_REG_SPA = 2–1

| match_REG_TER = 3–2

| match_REG_VIC = 3–1

| match_SPA_ALE = 2–3

| match_SPA_ASC = 1–2

| match_SPA_BEN = 1–1

| match_SPA_BRE = 0–2

| match_SPA_COS = 2–2

| match_SPA_CIT = 0–0

| match_SPA_COM = 1–1

| match_SPA_CRE = 0–2

| match_SPA_CRO = 1–1

| match_SPA_FRO = 3–0

| match_SPA_LEC = 1–3

| match_SPA_MON = 1–1

| match_SPA_PAR = 2–2

| match_SPA_PER = 1–2

| match_SPA_PIS = 0–0

| match_SPA_POR = 5–0

| match_SPA_REG = 1–3

| match_SPA_TER = 5–1

| match_SPA_VIC = 3–2

| match_TER_ALE = 3–0

| match_TER_ASC = 2–4

| match_TER_BEN = 0–2

| match_TER_BRE = 0–2

| match_TER_COS = 2–0

| match_TER_CIT = 1–1

| match_TER_COM = 1–2

| match_TER_CRE = 1–2

| match_TER_CRO = 1–0

| match_TER_FRO = 4–4

| match_TER_LEC = 1–4

| match_TER_MON = 0–1

| match_TER_PAR = 3–1

| match_TER_PER = 1–0

| match_TER_PIS = 1–4

| match_TER_POR = 1–0

| match_TER_REG = 2–0

| match_TER_SPA = 1–0

| match_TER_VIC = 5–0

| match_VIC_ALE = 2–1

| match_VIC_ASC = 2–0

| match_VIC_BEN = 2–3

| match_VIC_BRE = 2–3

| match_VIC_COS = 0–0

| match_VIC_CIT = 3–3

| match_VIC_COM = 0–1

| match_VIC_CRE = 0–1

| match_VIC_CRO = 1–1

| match_VIC_FRO = 0–2

| match_VIC_LEC = 2–1

| match_VIC_MON = 1–1

| match_VIC_PAR = 0–1

| match_VIC_PER = 1–2

| match_VIC_PIS = 1–3

| match_VIC_POR = 1–0

| match_VIC_REG = 0–1

| match_VIC_SPA = 1–1

| match_VIC_TER = 3–1

}}

Promotion play-offs

Rules:

  • Preliminary round: the higher-placed team played 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 second leg. If teams were tied on aggregate, the higher-placed team advanced;
  • Final: the higher-placed team played at home for 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.

{{6TeamBracket

| legs = 1/2

| aggregate = y

| RD1=Preliminary round

| RD2=Semi-finals

| RD3=Final

| RD1-seed1=5

| RD1-team1=Brescia {{aet}}

| RD1-score1=3

| RD1-seed2=8

| RD1-team2=Perugia

| RD1-score2=2

| RD1-seed3=6

| RD1-team3=Ascoli

| RD1-score3=0

| RD1-seed4=7

| RD1-team4=Benevento

| RD1-score4=1

| RD2-seed1=5

| RD2-team1=Brescia

| RD2-score1-1=1

| RD2-score1-2=1

| RD2-score1-agg=2

| RD2-seed2=4

| RD2-team2=Monza

| RD2-score2-1=2

| RD2-score2-2=2

| RD2-score2-agg=4

| RD2-seed3=7

| RD2-team3=Benevento

| RD2-score3-1=1

| RD2-score3-2=0

| RD2-score3-agg=1

| RD2-seed4=3

| RD2-team4=Pisa

| RD2-score4-1=0

| RD2-score4-2=1

| RD2-score4-agg=1

| RD3-seed1=4

| RD3-team1=Monza {{aet}}

| RD3-score1-1=2

| RD3-score1-2=4

| RD3-score1-agg=6

| RD3-seed2=3

| RD3-team2=Pisa

| RD3-score2-1=1

| RD3-score2-2=3

| RD3-score2-agg=4

}}

=Preliminary round=

{{Footballbox collapsible

|bg=

|date= 13 May 2022

|time= 20:30 CEST (UTC+2)

|team1= Ascoli

|score=0–1

|report= https://int.soccerway.com/matches/2022/05/13/italy/serie-b/ascoli-calcio/benevento-calcio/3786208/

|team2= Benevento

|goals1=

|goals2=

|stadium= Cino e Lillo Del Duca

|location= Ascoli Piceno

|attendance=10,797

|referee= Gianluca Manganiello

|stack=

}}

{{Footballbox collapsible

|bg=

|date= 14 May 2022

|time= 18:00 CEST (UTC+2)

|team1= Brescia

|score= 3–2

|aet=yes

|report= https://int.soccerway.com/matches/2022/05/14/italy/serie-b/brescia-calcio/perugia-calcio/3786209/

|team2= Perugia

|goals1=

|goals2=

|stadium= Mario Rigamonti

|location= Brescia

|attendance= 10,740

|referee= Francesco Fourneau

|stack=

}}

=Semi-finals=

==First leg==

{{Footballbox collapsible

|bg=

|date= 17 May 2022

|time= 20:30 CEST (UTC+2)

|team1= Benevento

|score= 1–0

|report= https://int.soccerway.com/matches/2022/05/17/italy/serie-b/benevento-calcio/pisa-calcio/3786210/

|team2= Pisa

|goals1=

|goals2=

|stadium= Ciro Vigorito

|location= Benevento

|attendance= 10,979

|referee= Alessandro Prontera

|stack=

}}

{{Footballbox collapsible

|bg=

|date= 18 May 2022

|time= 20:00 CEST (UTC+2)

|team1= Brescia

|score= 1–2

|report= https://int.soccerway.com/matches/2022/05/18/italy/serie-b/brescia-calcio/ac-monza-brianza-1912/3786211/

|team2= Monza

|goals1=

|goals2=

|stadium= Mario Rigamonti

|location= Brescia

|attendance= 13,600

|referee= Gianluca Aureliano

|stack=

}}

==Second leg==

{{Footballbox collapsible

|bg=

|date= 21 May 2022

|time= 18:00 CEST (UTC+2)

|team1= Pisa

|score= 1–0

|aggregatescore= 1–1

|report= https://int.soccerway.com/matches/2022/05/21/italy/serie-b/pisa-calcio/benevento-calcio/3786212/

|team2= Benevento

|goals1=

|goals2=

|stadium= Arena Garibaldi

|location= Pisa

|attendance= 9,942

|referee= Simone Sozza

|stack=

}}

{{Footballbox collapsible

|bg=

|date= 22 May 2022

|time= 21:00 CEST (UTC+2)

|team1= Monza

|score= 2–1

|aggregatescore= 4–2

|report= https://int.soccerway.com/matches/2022/05/22/italy/serie-b/ac-monza-brianza-1912/brescia-calcio/3786213/

|team2= Brescia

|goals1=

|goals2=

|stadium= Brianteo

|location= Monza

|attendance= 8,559

|referee= Paolo Valeri

|stack=

}}

=Final=

==First leg==

{{Footballbox collapsible

|bg=

|date= 26 May 2022

|time= 20:30 CEST (UTC+2)

|team1= Monza

|score= 2–1

|report= https://int.soccerway.com/matches/2022/05/26/italy/serie-b/ac-monza-brianza-1912/pisa-calcio/3788581/

|team2= Pisa

|goals1=

|goals2=

|stadium= Brianteo

|location= Monza

|attendance= 9,649

|referee= Marco Guida

|stack=

}}

==Second leg==

{{Footballbox collapsible

|bg=

|date= 29 May 2022

|time= 20:30 CEST (UTC+2)

|team1= Pisa

|score= 3–4

|aet= yes

|aggregatescore= 4–6

|report= https://int.soccerway.com/matches/2022/05/29/italy/serie-b/pisa-calcio/ac-monza-brianza-1912/3788582/

|team2= Monza

|goals1=

|goals2=

|stadium= Arena Garibaldi

|location= Pisa

|attendance= 9,942

|referee= Maurizio Mariani

|stack=

}}

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.

{{TwoLegStart}}

{{TwoLegResult| Vicenza || 1–2 | Cosenza || 1–0 | 0–2 ||}}

|}

= First leg =

{{Football box collapsible

|bg=

|date= 12 May 2022

|time= 20:30 CEST (UTC+2)

|team1= Vicenza

|score= 1–0

|report= https://int.soccerway.com/matches/2022/05/12/italy/serie-b/vicenza-calcio/cosenza-calcio-1914/3786206/

|team2= Cosenza

|goals1=

|goals2=

|stadium= Romeo Menti

|location= Vicenza

|attendance= 10,659

|referee= Fabio Maresca

}}

= Second leg =

{{Football box collapsible

|bg=

|date= 20 May 2022

|time= 20:30 CEST (UTC+2)

|team1= Cosenza

|score=2–0

|aggregatescore=2–1

|report= https://int.soccerway.com/matches/2022/05/20/italy/serie-b/cosenza-calcio-1914/vicenza-calcio/3786207/

|team2= Vicenza

|goals1=

|goals2=

|stadium= San Vito-Gigi Marulla

|location= Cosenza

|attendance= 17,771

|referee= Davide Massa

}}

Season statistics

=Top goalscorers=

class="wikitable" style="text-align:center"

|+

!Rank

!Player

!Club

!Goals{{Cite web|title=Serie B - Players|url=https://int.soccerway.com/national/italy/serie-b/20212022/regular-season/r63606/players/|website=Soccerway}}

1

|align="left"|{{flagicon|ITA}} Massimo Coda

|align="left"|Lecce

|20

rowspan="4"|2

|align="left"|{{flagicon|ITA}} Alfredo Donnarumma

|align="left"|Ternana

|rowspan="4"|14

align="left"|{{flagicon|DEN}} Christian Gytkjær5

|align="left"|Monza

align="left"|{{flagicon|BRA}} Gabriel Strefezza

|align="left"|Lecce

align="left"|{{flagicon|ARG}} Franco Vázquez

|align="left"|Parma

6

|align="left"|{{flagicon|PER|football}} Gianluca Lapadula2

|align="left"|Benevento

|13

rowspan="2"|7

|align="left"|{{flagicon|ITA}} Simone Corazza

|align="left"|Alessandria

|rowspan="2"|12

align="left"|{{flagicon|POR}} Dany Mota1

|align="left"|Monza

9

|align="left"|{{flagicon|CRO}} Mirko Marić

|align="left"|Crotone

|11

rowspan="6"|10

|align="left"|{{flagicon|ITA}} Enrico Baldini

|align="left"|Cittadella

|rowspan="6"|10

align="left"|{{flagicon|ITA}} Alberto Cerri

|align="left"|Como

align="left"|{{flagicon|FRA}} Gabriel Charpentier

|align="left"|Frosinone

align="left"|{{flagicon|ITA}} Manuel De Luca

|align="left"|Perugia

align="left"|{{flagicon|ITA}} Stefano Moreo1

|align="left"|Brescia

align="left"|{{flagicon|ITA}} Mattia Valoti

|align="left"|Monza

;Note

1 Player scored 1 goal in the play-offs.

2 Player scored 2 goals in the play-offs.

5 Player scored 5 goals in the play-offs.

=Hat-tricks=

class="wikitable sortable"

!Player

!Club

!Against

! style="text-align:center;"| Result

!Date

{{flagicon|ITA}} Simone Corazza

|Alessandria

|Benevento

|style="text-align:center;"|[https://int.soccerway.com/matches/2021/08/22/italy/serie-b/benevento-calcio/us-alessandria-1912/3581921/ 3–4 (A)]

|{{dts|format=dmy|2021|8|22}}

{{flagicon|PER|football}} Gianluca Lapadula

|Benevento

|Cittadella

|style="text-align:center;"|[https://int.soccerway.com/matches/2021/09/21/italy/serie-b/benevento-calcio/as-cittadella/3581958/ 4–1 (H)]

|{{dts|format=dmy|2021|9|21}}

{{flagicon|ITA}} Massimo Coda

|Lecce

|Parma

|style="text-align:center;"|[https://int.soccerway.com/matches/2021/11/07/italy/serie-b/us-lecce/parma-fc/3582028/ 4–0 (H)]

|{{dts|format=dmy|2021|11|7}}

{{flagicon|CRO}} Mirko Marić

|Crotone

|Cosenza

|style="text-align:center;"|[https://int.soccerway.com/matches/2022/02/23/italy/serie-b/fc-crotone/cosenza-calcio-1914/3582290/ 3–3 (H)]

|{{dts|format=dmy|2022|2|23}}

{{flagicon|ITA}} Ettore Gliozzi

|Como

|Parma

|style="text-align:center;"|[https://int.soccerway.com/matches/2022/04/06/italy/serie-b/parma-fc/calcio-como/3582213/ 3–4 (A)]

|{{dts|format=dmy|2022|4|6}}

{{flagicon|ITA}} Frank Tsadjout

|Ascoli

|Ternana

|style="text-align:center;"|[https://int.soccerway.com/matches/2022/05/06/italy/serie-b/ascoli-calcio/ternana-calcio/3582262/ 4–1 (H)]

|{{dts|format=dmy|2022|5|6}}

;Note

(H) – Home (A) – Away

=Clean sheets=

class="wikitable" style="text-align:center"
Rank

!Player

!Club

!Clean
sheets

!Game weeks

rowspan="3"|1

|align="left"|{{flagicon|ITA}} Michele Di Gregorio

|align="left"|Monza

|rowspan="3"|15

|1–2, 8–9, 11, 16, 20, 22–23, 29–31, 33–34, 37

align="left"|{{flagicon|FIN}} Jesse Joronen

|align="left"|Brescia

|1, 4, 9, 11–12, 15, 17, 19, 21, 23, 25, 32–34, 38

align="left"|{{flagicon|BRA}} Nícolas1

|align="left"|Pisa

|1–2, 7, 13–14, 16, 18, 20, 22, 25, 28–29, 31, 33

rowspan="3"|4

|align="left"|{{flagicon|ARG}} Leandro Chichizola

|align="left"|Perugia

|rowspan="3"|14

|1, 3, 5, 7–9, 13, 16, 21–22, 24, 29, 33, 38

align="left"|{{flagicon|BRA}} Gabriel

|align="left"|Lecce

|3, 5, 7, 9, 12–13, 16, 19, 24, 26, 28, 34, 36, 38

align="left"|{{flagicon|ITA}} Alberto Paleari2

|align="left"|Benevento

|3–4, 7, 9, 14, 17, 21, 24–26, 33–34

7

|align="left"|{{flagicon|ALB}} Elhan Kastrati

|align="left"|Cittadella

|12

|1, 4, 7–8, 11–12, 16–17, 23, 26–27, 33

8

|align="left"|{{flagicon|ITA}} Nicola Leali

|align="left"|Ascoli

|11

|1, 3, 13, 16, 23–24, 30, 34–37

9

|align="left"|{{flagicon|ITA}} Antony Iannarilli

|align="left"|Ternana

|10

|6, 9, 12, 15, 21–22, 27, 29, 31, 377

rowspan="2"|10

|align="left"|{{flagicon|ITA}} Marco Carnesecchi

|align="left"|Cremonese

|rowspan="2"|9

|1, 3, 6, 16, 19, 22, 24–25, 31

align="left"|{{flagicon|ITA}} Federico Ravaglia

|align="left"|Frosinone

|2–4, 6, 13, 18, 20–21, 25

;Note

1 Player kept 1 clean sheet in the play-offs.

2 Player kept 2 clean sheets in the play-offs.

References

{{reflist}}