Juventus extended their unbeaten Serie A run to 48 games and ended opponents Catania’s undefeated record at home this season with a controversial 1-0 win in Sicily.
Arturo Vidal struck on 57 minutes to send Juve seven points clear of Internazionale, who later beat Bologna 3-1 to move back to being four points behind.
The champions enjoyed the majority of possession and chances, but only a contentious refereeing decision prevented them from falling behind in the first half.
Gonzalo Bergessio tapped the ball home after Nicolas Spolli’s flick had crept past Gianluigi Buffon - making his 500th Serie A appearance - and come back off the post.
After initially appearing to give the goal, referee Andre Girvasoni consulted his linesman following Juventus appeals and disallowed it for offside - but replays showed Bergessio was level.
The title-holders could nonetheless have had a more comfortable afternoon had they taken the chances that came their way during some dominant passages of play.
As early as the third minute, Vidal forced home keeper Mariano Andujar into action with a fierce shot, while Kwando Asamoah fired a long-range effort just over and Marko Vucinic prodded his effort too close to Andujar after Bendtner had headed a cross into his path.
Bergassio was thwarted when Andrea Barzagli produced a brave clearing header, but Paul Pogba soon fired a powerful shot just over the bar from distance as Juventus hit back.
To add to the home side’s sense of injustice over their disallowed goal, which sparked angry protests from both players and coaching staff, Nicklas Bendtner seemed offside when his low shot was parried to enable Vidal to knock in Juve’s winner.
Catania were reduced to 10 men after 65 minutes when Giovanni Marchese was shown a red card after picking up his second booking of the game, but they still managed to give Juve a few scares as Buffon came to claim a dangerous late cross and his defenders were forced into a couple of last-ditch clearances.
But the visitors, inevitably, found increasing amounts of space against the 10 men and Vidal - with a low shot following a meandering dribble - Bendtner and substitute Sebastian Giovinco were all close to putting the result beyond doubt.