Marco Benassi opened the scoring for the home side minutes before Paulinho doubled their lead but Ibrahima Mbaye saw red for Livorno with 10 minutes left.
Lazaros Christodoulopoulos then netted a late consolation penalty for the visitors after Innocent Emmeghara was given his marching orders to reduce the hosts to nine men.
The victory - which ended Livorno's three-match winless run - earned a vital three points for Domenico Di Carlo's side but they are only one point from danger, while Bologna extended their winless streak to five matches.
The hosts began well and Benassi had a couple of chances to put his side ahead in the opening 10 minutes but visiting goalkeeper Gianluca Curci kept both efforts out before Paulinho's header went inches wide of the left post.
Bologna hit back and began to dominate the half with a string of chances as Archimede Morleo tried his luck from outside the box but sent his shot over the bar.
Midway through the first half, Robert Aquafresca came close with an effort on the edge of the Livorno box and Andrea Mantovani had a long-range chance but both were saved by Francesco Bardi.
Christodoulopoulos almost put Bologna ahead just before the break with a chance from just outside the box but Bordi punched the ball to safety.
It did not take Livorno long to get on the scoresheet when the second half got underway. Emeghara took the ball down the left wing and crossed for Benassi, who made no mistake as he sent the ball into the bottom right of the net from close range.
Minutes later the home side doubled their lead as Benassi found Paulinho from the right and the Brazilian picked up the ball near the six-yard box and chipped it over Curci for his 11th goal of the season.
Bologna came close to getting a goal back midway through the second half and Livorno were reduced to 10 men as Mbaye received his second yellow card for handball.
Three minutes later the visitors were awarded a penalty as Emmeghara fouled Archimede Morleo inside his own area and received his second booking.
Christodoulopoulos stepped up and scored a consolation for as he slotted home in the bottom-right corner with Bardi well beaten.