Hellas Verona and nine-man Sassuolo have earned promotion to Serie A, but Livorno, Empoli, Novara and Brescia go into the play-offs.
The final round saw several direct head-to-heads for promotion, including Sassuolo-Livorno, Brescia-Varese and Verona-Empoli.
Sassuolo-Livorno was an extremely tense and ill-tempered affair that saw three red cards, including goalkeeper Vincenzo Fiorillo and Domenico Berardi for sparking a brawl.
In the final stages nine-man Sassuolo camped out in their own penalty area desperately clinging to a point.
Livorno were totally unbalanced and caught on the counter at the 95th minute by Simone Missiroli, his chip in off the underside of the crossbar, to spark a huge party. It is Sassuolo’s first ever promotion into Serie A.
Vicenza, Ascoli, Pro Vercelli and Grosseto are relegated into Lega Pro.
Brescia 2-0 Varese
Scorers: Zambelli 50 (B), Caracciolo 68 (B)
Cesena 1-1 Pro Vercelli
Scorers: Tonucci 29 (C), Ragatzu 45 (PV)
Cittadella 0-0 Ascoli
Sent off: Fossati 34 (A), Paolucci 61 (C)
Grosseto 4-3 Bari
Scorers: Lupoli 17 (G), Ceppitelli 35 (B), Caputo 42 (B), Fedato 46 (B), Coulibaly 49 (G), Piovaccari 65 (G), Fanciulli 85 (G)
Novara 1-1 Virtus Lanciano
Scorers: Falcinelli 12 (VL), Rubino 55 (N)
Sassuolo 1-0 Livorno
Scorers: Missiroli 95 (S)
Sent off: Antei 57 (S), Fiorillo 76 (L), Berardi 77 (S)
Spezia 1-1 Modena
Scorers: Ardemagni 20 (M), Sansovini 89 (S)
Ternana 2-1 Padova
Scorers: Vitale pen 4 (T), Cutolo 50 (P), Bencivenga 60 (T)
Hellas Verona 0-0 Empoli
Vicenza 0-0 Reggina
To be played on Sunday
Think you know your Italian football? Share your knowledge, tips and comments to win cash prizes in OLBG's tipster competition  - £11,000 to be won monthly!