Sampdoria moved back into third place with a hard-fought 3-1 win at home to Fiorentina as the visiting side missed a penalty, while Udinese lost 4-2 to Genoa in Serie A on Sunday.
Sergio Romero saved Gonzalo Rodriguez's penalty after Angelo Palombo had converted a spot kick for Sampdoria.
Luca Rizzo scored his first Serie A goal to make it 2-0 and, although Stefan Savic got one back just before halftime, Eder secured the points for Sampdoria with a stunning solo effort.
Udinese captain Antonio Di Natale scored his 199th league goal after just 23 seconds but Genoa rallied for its third successive victory.
Sassuolo was held to a goalless draw at bottom club Chievo Verona and Atalanta also drew 0-0 at Torino.
AC Milan lost at home to Palermo, with Zapata committing an own goal in the 22nd minute with Dybala adding a second two minutes later.
Sampdoria was keen to get back on track after a dip in form had seen it fail to win any of its past three matches.
It took the lead in the 27th minute when Palombo drove a penalty into the right side of goal after Alberto Aquilani had clumsily pushed over Roberto Soriano.
Palombo gave away a penalty five minutes after converting one when he brought down Khouma Babacar but Rodriguez's spot-kick was weak and Romero managed to smother it.
Rizzo doubled Sampdoria's lead two minutes from the break, dribbling past two defenders at the byline before sending in a low drive to set club president Massimo Ferrero dancing in the stands.
There was still time before the break for Savic to get Fiorentina back in the match with a towering header from a corner.
Fiorentina was further boosted when Mario Gomez made his comeback from injury, coming on in the 69th minute for his first appearance since September.
But Eder made sure of the points 12 minutes from time after starting his run in his own half and beating three Fiorentina players.
Sampdoria moved a point above Napoli and three behind second-placed Roma.
Genoa is also a point behind Sampdoria and leapfrogged Udinese in the table.
It went into the match full of confidence after inflicting a first defeat of the season on Serie A leader Juventus midweek, but found itself behind after less than a minute when Di Natale beat the offside trap to latch onto Panagiotis Kone's assist and drove the ball past Mattia Perin.
However, two goals in as many minutes saw Genoa on top.
The visitors leveled with a spectacular volley from Giovanni Marchese into the top right corner from outside the opposite side of the penalty area, before howlers from Allan and Bruno Fernandes allowed Iago Falque to pounce from six yards for his first Serie A goal.
Di Natale set up Silvan Widmer for the equalizer four minutes from the break but Genoa restored its advantage nine minutes after the interval when Alessandro Matri fired in off the right upright.
Substitute Juraj Kucka sealed the match two minutes from time with a chip into the top far corner, off the underside of the crossbar.