Ronaldo, who scored in successive games for Portugal in last week’s Euro qualifiers to reach 700 career goals, struck his fourth league goal of the season to give Juve a first-half lead.
He has now netted 12 times in 13 appearances this season for club and country.
Danilo equalised for Bologna seven minutes later before Juve regained the lead early in the second period through Miralem Pjanic.
Juve were fortunate to hold on to all three points when Paraguay forward Federico Santander’s stoppage-time header for Bologna hit the crossbar.
Juve, who climbed top after their victory at early pacesetters Inter Milan before the international break, have opened up a four-point gap on their closest rivals, who play at Sassuolo on Sunday.
Maurizio Sarri’s side registered their sixth straight win in all competitions, while Bologna’s winless run was extended to five matches.
Arkadiusz Milik’s double got Napoli back to winning ways as they won 2-0 at home against Verona.
Milik’s close-range finish gave Napoli a half-time lead and the Poland forward added his second goal of the season with 23 minutes left.
Napoli had drawn their previous two matches 0-0, against Genk in the Champions League and at Torino before the international break.
Ciro Immobile’s stoppage-time penalty secured a thrilling fightback by Lazio, who drew 3-3 at home to Atalanta having trailed 3-0 midway through the second half.
Colombia striker Luis Muriel fired a first-half double in the space of five minutes to put Atalanta in control and Papu Gomez added the visitors’ third before the break.
Lazio still trailed by three goals with 21 minutes to go before Immobile scored his first penalty after he had been fouled by Jose Luis Palomino.
Argentina midfielder Joaquin Correa fired home for Lazio a minute later and Immobile converted his second penalty in added time after Marten De Roon’s challenge on the Italy striker.
Know more about Sport360 Application