Bologna are back in Serie A one year after their relegation thanks to a dramatic 1-1 play-off result with Pescara.
Carpi and Frosinone already secured their historic first ever top flight campaigns.
Because the play-offs are a mini-tournament, the 0-0 first leg result was treated as one point each. That meant Pescara had to win at the Stadio Dall’Ara, otherwise the victory would go to the side that finished higher up the table in the regular season – in this case Bologna.
Federico Melchiorri had a golden opportunity for the Delfini after 17 minutes, springing the offside trap only for his right-foot strike to clip the top of the crossbar.
The hosts also threatened, as Gianluca Sansone forced a flying save from Vincenzo Fiorillo and Marios Oikonomou’s towering header landed on the roof of the net.
Bologna were building the pressure after a nervy start and took the lead through Sansone, who blasted under the bar from 10 yards after a give-and-go was only partially intercepted.
Gaston Brugman’s impressive run was cut off cleanly just inside the area, but Pescara missed key midfielder Birkir Bjarnason, who was on international duty.
Sansone was about to complete his brace and put the tie beyond doubt with a spectacular slalom when denied by Fiorillo’s desperate save, but on the counter from that same move just seconds later Pescara got an equaliser. Melchiorri knocked it down for substitute Cristian Pasquato, who with his chest brought it forward to drill home for 1-1.
Moments later Pescara were almost 2-1 up, as Sansovini curled inches past the post with his left foot.
Bologna’s anxiety got to them, as Inter-owned Ibrahima Mbaye was sent off for an extremely high foot, having already been booked.
It turned into a Pescara siege and Raffaele Pucino stung Junior Da Costa’s gloves from a huge distance. There was a remarkable double save on a Flavio Lazzari header and then the Sansovini follow-up, both from point-blank range.
Pasquato’s free kick was deflected just over the bar, then from that corner Salamon nodded inches off target.
Deep into stoppages, a cross found its way through to Melchiorri at the back post and his looping header bounced off the crossbar with Da Costa beaten.
Daniele Cacia nearly scored for Bologna on the counter, failing to beat Fiorillo one-on-one, but Da Costa gathered a Salomon effort to end Pescara’s hopes of promotion.
Scorers: Sansone 37 (B), Pasquato 56 (P)
Bologna: Da Costa; Mbaye, Oikonomou, Maietta, Morleo; Casarini, Matuzalem, Krsticic (Buchel 49); Laribi; Acquafresca (Cacia 63), Sansone (Ceccarelli 67)
Pescara: Fiorillo; Pucino, Salamon, Fornasier, Zampano; Torreira (Lazzari 79), Memushaj, Brugman; Politano (Pasquato 46), Melchiorri, Caprari (Sansovini 46)
Sent off: Mbaye 65 (B)