The defender struck a volley from the edge of the box with just minutes remaining, while Alvaro Morata and Konstantinos Manolas were sent off late on
A top-of-the-table clash between two teams boasting five league wins from five promised much and there was certainly no shortage of drama at Juventus Stadium on Sunday, with referee Gianluca Rocchi awarding three penalties - two to Juve and one to Roma - in a first half that ended 2-2.
It appeared as though both teams would have to settle for a point apiece, but Bonucci then found the net in magnificent fashion with four minutes of normal time remaining, volleying past Lukasz Skorupski from 20 yards to break Roma hearts.
Juve substitute Morata and Roma defender Manolas were dismissed in the closing stages as Rocchi once again found himself at the centre of the action, but the reigning champions were able to hold on and claim a fifth successive home win against the capital club.
Carlos Tevez twice scored from 12 yards in the first half following contentious decisions from Rocchi, who also sent Roma coach Rudi Garcia to the stands, but the Argentine forward's two penalties sandwiched a Francesco Totti spot-kick and Juan Iturbe's 44th-minute strike for the visitors.
The second half initially provided fewer incidents of note, only to come to life in the closing stages.
Morata headed against the crossbar prior to Bonucci's late winner and was then sent off together with Manolas as tempers flared.
Juve, who named Andrea Pirlo in their XI for the first time this season after his recovery from a hip injury, had early claims for a penalty dismissed when Claudio Marchisio went to ground under a challenge from Manolas.
A penalty did come Juve’s way in the 26th minute, albeit in somewhat controversial circumstances. Rocchi appeared to originally award a free kick when ruling that Maicon had handled Pirlo's set-piece, before changing his mind and pointing to the spot.
The decision prompted fierce protests from Roma, with Garcia sent to the stands, but Tevez kept his nerve after the commotion had ended to send Skorupski the wrong way.
Roma drew level five minutes later, after Rocchi had given another penalty as a result of Stephan Lichtsteiner hauling Totti to ground off the ball.
The Roma captain put his spot-kick in the bottom-right corner, ensuring Juve conceded their first league goal of the campaign.
Life got better for the visitors a minute before half-time when Roma caught Juve cold with a free-flowing move that finished with Gervinho's reverse pass finding Iturbe, whose low drive beat Gianluigi Buffon at his near post.
Martin Caceres then pulled up with a hamstring injury for Juve, but they were level at the break following another debatable call from Rocchi.
The official judged that Miralem Pjanic had tripped Paul Pogba in the area, although there appeared minimal contact and the incident may have taken place outside the box.
Tevez once again showed unerring calm, placing his second penalty of the match into the bottom left-hand corner.
Juve started the second half with more attacking intent, but Pjanic wasted a gilt-edged chance on the hour mark when he dragged wide from just close-range after good work from Gervinho.
Morata then saw a header cannon against the crossbar, but Juventus went on to clinch the points in superb style.
A Juve corner was cleared to the edge of the area and Bonucci let fly with an unstoppable volley that flew into the bottom left-hand corner, though Roma will rightly feel aggrieved that Arturo Vidal - standing in front of Skorupski in an offside position - was not penalised.
Frustrations then boiled over in an ill-tempered finish. Manolas reacted angrily to a stern Morata challenge, leading to a melee and red cards for both players.