Lucas Torreira bundled over the line to give Fiorentina victory over 10-man Bologna, but were also rescued twice by the woodwork.
The Viola needed to get back on track after one point from two rounds and had a full squad at their disposal, again choosing Krzysztof Piatek upfront, with Jack Bonaventura returning after his ban was halved. Bologna had Marko Arnautovic and Gary Medel back from illness, but Arthur Theate was suspended.
It was an astonishing start, as within 11 seconds Roberto Soriano had thumped the crossbar on a Riccardo Orsolini pass after Alvaro Odriozola slipped.
Lucas Torreira also lost his footing at the crucial moment and Lukasz Skorupski saved the Krzysztof Piatek follow-up with one hand.
Serie A Liveblog: Including Verona-Napoli, Udinese-Roma and Torino-Inter
There were penalty appeals for a Jerzy Schouten handling offence, but he was falling when Gaetano Castrovilli fired the ball straight at him from point-blank range, so could not have done anything more.
Lukasz Skorupski palmed a Cristiano Biraghi free kick out from under the crossbar, but there was a double disastrous moment for Bologna within 30 seconds.
First, Orsolini sprung the offside trap and went around Pietro Terracciano only to then hit the upright of an open goal. Fiorentina then tried to counter, but Kevin Bonifazi completed his dismal performance with a second yellow card for persistent fouling.
Skorupski denied Biraghi again and Bonaventura blasted over the bar, but Lucas Torreira saw his strike cannon off the inside of the upright and back out from 20 metres.
Gonzalez thought he’d scored on 68 minutes, but his tap-in was practically cleared off the line by Lorenzo De Silvestri.
The goal was coming and arrived moments later, as Castrovilli knocked back a Biraghi cross from the by-line for Torreira to bundle over the line from a couple of yards.
Arnautovic had the chance to equalise after a well-worked free kick routine, but hit a fresh-air shot instead in a surprisingly nervy finale.
Fiorentina 1-0 Bologna
Torreira 70 (F)
Sent off: Bonifazi 41 (B)