Lazio leave it late to beat Udinese
Milan lost 1-0 at home to fifth-placed AS Roma on Saturday and their lead has been slashed in half ahead of the league resuming on January 6.
Juventus, in fourth, could even have joined Lazio and Napoli on 33 points had they not been pegged back late on in a 1-1 draw at Chievo on Sunday.
Serie A top scorer Edinson Cavani blasted in from 25 metres in injury-time to give Napoli a 1-0 home win over Lecce and spark wild scenes of celebration at the San Paolo where their fourth one-goal victory in a row had begun to look unlikely.
Last term's relegation candidates Lazio overcame Udinese 3-2 at home to continue their fairytale season thanks to Cristian Zapata's own goal two minutes from time.
The hosts had taken an early lead through the excellent Hernanes before Udinese equalised just after the break thanks to Alexis Sanchez's header.
Defender Giuseppe Biava hooked in following a corner soon afterwards for Lazio but German Denis levelled again with a stunning header from the edge of the area which wrong-footed goalkeeper Fernando Muslera.
Despite the win, Lazio coach Edy Reja was unhappy with the attitude of some of his players.
"I am the coach, I make the decisions. There are no phenomenons here," former Napoli boss Reja told Sky.
"Either you understand that the decisions must be accepted for the good of everyone or... you risk everything collapsing."
In another wide open game full of chances, Chievo striker Sergio Pellissier scored in stoppage-time to deny 10-man Juventus all three points.
Juve, who beat Lazio last weekend but now lie five behind Milan, went ahead thanks to the in-form Fabio Quagliarella netting an overhead-kick on the half hour after Marco Storari had saved home midfielder Michele Marcolini's penalty.
The visitors could have extended their lead despite young midfielder Manuel Giandonato, preferred to the out-of favour Mohamed Sissoko, being sent off early in the second half but the Juve defence was eventually breached after sustained pressure.
In other games, sixth-placed Palermo were held to a 1-1 draw at bottom side Bari, Catania beat Brescia 1-0 and Parma drew 0-0 with Bologna, whose players are now set to get their first wages for two months after the owner of a coffee firm bought the club.
Sampdoria's city derby with Genoa was postponed because of snow meaning the sides stayed below seventh-placed champions Inter Milan, who were not in league action this weekend because of their victory in Saturday's Club World Cup final.
Inter coach Rafa Benitez's outburst after the final about the club's lack of signings has sparked media speculation he will be sacked before their January 6 match at home to Napoli.