The Bianconeri had taken just one point from their previous two matches at the Allianz Stadium but did enough to claim victory against Venezia, who have now lost nine in a row.
Full debutant Fabio Miretti played a big part in Bonucci's headed opener inside seven minutes, but Juve were pegged back through a Mattia Aramu strike 19 minutes from time.
However, Bonucci bundled in a late winner to ensure that his side now require just two points from their remaining three games to keep Roma at bay in the battle for fourth.
Juve nearly opened the scoring four minutes in when Luca Pellegrini fired a ferocious strike against the crossbar from range.
The host did not have to wait much longer for its breakthrough, though, as Matthijs de Ligt nodded Miretti's delivery back across goal for Bonucci to turn in from close range.
Venezia, which sacked Pablo Zanetti this week and placed Andrea Soncin in temporary charge, took full advantage of Juve's failure to kill off the match through Aramu's long-ranger.
That had Venezia on course for successive 1-1 draws against Juve, only for the Bianconeri to snatch all three points when a corner was not dealt with and went in off Bonucci's shin.