Mario Mandzukic's first-half goal fired Juventus past Roma 1-0 and eight points clear of nearest Serie A title rivals Napoli.
The reigning champions were not at their best, even against a Roma outfit languishing in mid-table, but Juve have not failed to score at home in the league this season and they kept that run going as Mandzukic struck 10 minutes before the break.
Cristiano Ronaldo's radar misfired twice as Massimiliano Allegri's men pushed to confirm the outcome with a second goal, which Douglas Costa thought he had scored at the death, only for VAR to intervene.
Juve now face a tricky trip to Atalanta on Boxing Day but can be assured that third-placed Inter Milan and Napoli will take points off each other in their evening clash at San Siro.
Justin Kluivert dropped to the bench as Roma boss Eusebio Di Francesco instead put his faith in Patrik Schick, the young Czech striker who has struggled in front of goal since arriving from Sampdoria last year.
Within six minutes he had been slipped in behind the Juve defence by a clever pass from Alessandro Florenzi but his control was awful and the Bianconeri recovered possession.
Seeking to punish the Romans, Mattia De Sciglio tried his luck from distance and, after his effort landed at the feet of Alex Sandro, Robin Olsen did well to parry the ball out for a corner.
Davide Santon was the next Roma player to launch Schick and this time the forward got a shot away, only for Wojciech Szczesny to make a low block.
In the 35th minute Juve got their goal as another delivery from De Sciglio sailed to the far post where Mandzukic beat Santon in an aerial duel to put the ball beyond Olsen.
When play resumed following half-time Paulo Dybala looked to break into the box. When his run was ended by Steven Nzonzi, Ronaldo scooped up the loose ball but put his shot over the bar.
Ronaldo then cursed his bad aim after heading right at Olsen when Dybala swung in a cross on the hour mark.
Juve faced an anxious finale as they toiled to find a second goal to kill the game off and when Roma's Diego Perotti put in a cross to the far post that both Edin Dzeko and Schick both managed to miss, there was palpable tension at Allianz Stadium.
It appeared to dissipate when Costa slotted home from a square pass by Ronaldo, but the video assistant referee ruled out his stoppage-time strike for a foul by Blaise Matuidi on Nicolo Zaniolo in the build-up.
ga('create', 'UA-72310761-1', 'auto', {'name': 'pacontentapi'});
ga('pacontentapi.set', 'referrer', location.origin);
ga('pacontentapi.set', 'dimension1', 'By Press Association Sport staff');
ga('pacontentapi.set', 'dimension2', '84aa7687-fe3f-4f34-8a06-e2701fb2428c');
ga('pacontentapi.set', 'dimension3', 'paservice:sport,paservice:sport:football,paservice:sport:match-reports,paservice:sport:world');
ga('pacontentapi.set', 'dimension6', 'story');
ga('pacontentapi.set', 'dimension7', 'composite');
ga('pacontentapi.set', 'dimension8', null);
ga('pacontentapi.set', 'dimension9', 'sport:football');
ga('pacontentapi.send', 'pageview', { 'location': location.href, 'page': (location.pathname + location.search + location.hash), 'title': 'Mandzukic nets winner as Juventus edge past Roma'});