Fernando Bernardeschi scored the only goal as champions Juventus kept Serie A leaders Napoli in their sights with a 1-0 win over Cagliari in Sardinia on Saturday.
Napoli cemented their position in top spot before Italy's two-week winter break with 51 points from 20 games after seeing off Verona 2-0.
They are one point clear of Juventus with Inter Milan a distant third, nine points behind the leaders, after being held 1-1 at Fiorentina on Friday.
Italian winger Bernardeschi nudged home on 74 minutes following a solo break by Douglas Costa down the right flank, but there were worries for Massimiliano Allegri's side with Argentina star Paulo Dybala limping off in tears with a suspected hamstring strain, and Sami Khedira receiving a head knock.
"We're doing well so far this season, just just behind Napoli, through to the Champions League round of 16 and into the Italian Cup semi-finals," said Allegri.
"Fortunately we're go into a two-week break now and he'll (Dybala) obviously need to rest more than the others during that time."
Both Napoli's goals came in the second half against a dogged Verona, with Kalidou Koulibaly breaking the deadlock after 65 minutes in Naples and Jose Callejon sealing the win 13 minutes later.
Coach Maurizio Sarri remains cautious despite heading into the second half of the season ahead of the reigning six-time champions.
"We know that Juventus have years of certainties -- that they can safely close above 90 points, while we cannot say the same thing about ourselves," said the Napoli boss.
"We know that we must repeat last season's performances to get back into the Champions League and anything more than that is undiscovered territory."
Roma missed the chance to join Inter on 42 points, slipping to fifth after a shock 2-1 defeat to ten-man Atalanta in Rome.
Atalanta -- fresh from their Italian Cup defeat of Napoli -- were two goals up by half-time through Andreas Cornelius and Marten de Roon.
Edin Dzeko reduced the deficit on 56 minutes but Roma failed to take advantage of playing the entire second half with an extra man on the pitch after de Roon was sent off for a second yellow card.
"We started well for 10 minutes, then fell apart and lost our confidence after going a goal behind," said Roma coach Eusebio Di Francesco.
Lazio -- like Roma with a game in hand -- moved just two points behind Inter into fourth after Ciro Immobile hit four goals in a 5-2 goal blitz in against SPAL.
Immobile is having another great season at Lazio after scoring 23 times last campaign, and moveed two ahead of Inter's Mauro Icardi at the top of the Serie A scorers charts, with 20 goals in 19 games.
Spaniard Luis Alberto opened for Lazio after just five minutes with Immobile bagging a first-half hat-trick, completing the scoreline five minutes after the break.
"It's a magic time for us," said Immobile. "My goals come thanks to everyone's work, there were perfect assists on the first three. We can now enjoy the holidays after this win."
Captain Leonardo Bonucci headed in his first AC Milan goal to see off Crotone 1-0 win at San Siro, further boosting the struggling side after their Italian Cup win over Inter.
"The new year could not have started better," said the Italy defender of Milan who are on 28 points in eleventh position.
"The derby improved our confidence, our self-belief, and you could see that by how we took risks."
Bottom club Benevento won their second game in a row, with Massimo Coda's brace giving them a 3-2 win over 10-man Sampdoria, while Andrey Galabinov scored late to move Genoa away from the relegation zone with a 1-0 at Sassuolo.
Earlier former Watford boss Walter Mazzarri made a winning start as Torino coach with a 3-0 home win over Bologna, just two days after taking over from Sinisa Mihajlovic.
Lorenzo De Silvestri, M'Baye Niang and Iago Falque all scored to give Torino just their second win in their last nine matches.
Torino are tenth, level on points with Milan.