Bianconeri manager Maurizio Sarri made three changes from the side that beat Inter Milan the last time out, as veteran goalkeeper Gianluigi Buffon replaced Wojciech Szczesny in goal, while Adrien Rabiot and Gonazlo Higuain replaced Blaise Matuidi and Paulo Dybala.
The hosts had a bright start as Cristiano Ronaldo opened the scoring in the 19th minute with a powerful strike from the right side of the box after winning possession.
Bologna did not waste time in finding an equaliser as Danilo drilled a half-volley home beyond the reach of Buffon in the 26th minute, after a flick on by Ibrahima Mbaye from a corner.
Sarri's charges had the momentum in the closing phase of the first stanza and created chances in an attempt to restore their lead but Skorupski kept the visitors in the game with good saves.
The Old Lady came back from the beak fired up and they eventually restored their lead nine minutes inside the second stanza, as Pjanic kept his composure to slot a low shot past Skorupski after Ronaldo's blocked effort rolled back into the Bosnian's path.
Sarri re-shuffled the pack with 17 minutes remaining as Matuidi came on for Rabiot, while Higuain made way for Dybala in the last eight minutes, but Juventus were living dangerously in the closing phase as Bologna were carving out chances.
However, Bianconeri managed to hold on for their fifth league victory in a row to go four points clear at the top of the table, while the visitors dropped down to 12th on the log with nine points.