Bologna hit the woodwork three times, but only beat Spezia thanks to a controversial Marko Arnautovic penalty.
The hosts had Emmanuel Gyasi suspended, Leo Sena and Medhi Bourabia injured, but Arkadiusz Reca got his first start of the season, with Simone Bastoni moved into midfield. Bologna missed Jerdy Schouten, Andreas Skov-Olsen and Lorenzo De Silvestri.
M’Bala Nzola went down in the box during the opening minutes, but the referee and VAR waved away appeals.
Marko Arnautovic went very close for Bologna moments later, his half-volley clipping the outside of the near post.
Adama Soumaoro’s header skimmed the bar and the visitors struck the frame of the goal again just before half-time. It was pulled back for Musa Barrow, whose low drive thumped the base of the upright and ricocheted into the grateful arms of Ivan Provedel.
The Spezia goalkeeper used his legs to parry from Riccardo Orsolini at the near post, while Kelvin Amian tested Lukasz Skorupski after combining with Nzola.
Bologna hit the upright for the third time with Barrow’s right-foot effort on an Arnautovic cut-back, then Mattias Svanberg came close too by skimming the woodwork from outside the box.
Eddie Salcedo forced a save too after the Viktor Kovalenko assist, but the deadlock was broken in very controversial circumstances.
An Arnautovic free kick was charged down by Nzola in the wall, who had his arm up covering his face. The referee considered this intentional handball and awarded a penalty, as he was standing just inside the box at the time. Arnautovic converted to give Bologna the lead.
Martin Erlic had the final chance in stoppages, his header glancing wide on a Salva Ferrer cross.
Spezia 0-1 Bologna
Arnautovic pen 83 (B)