The home side took the lead at the start of the second half when Benassi was picked out by Innocent Emeghara, before placing a low shot across the keeper and into the bottom corner.
In the 53rd minute they scored a second. Paulinho got on the end of a deflected cross from Benassi, took the ball past Gianluca Curci and slotted into the net.
With 10 minutes of the game left to play, Livorno were reduced to 10 men, as Ibrahima Mbaye picked up a second yellow card for a handball offecen.
They were down to nine men just minutes later when Emeghara brought down Archimede Morleo inside the box, giving away a penalty in the process.
Lazaros Christodoulopoulos stepped up to convert from the spot, but Bologna could not find a second as Livorno held on to claim a crucial victory.