Gonzalo Higuain scored twice to give Napoli their first win in four Serie A games as Milan were beaten 3-1 at Stadio San Paolo.
Adel Taarabt's debut goal had given Clarence Seedorf's Milan an early lead on Saturday, but Napoli were not to be denied a deserved victory.
Gokhan Inler equalised soon after, and Higuain struck twice after half-time to take his Serie A goal tally to 12 for the season and give Rafael Benitez's men their first league win since a 3-0 triumph at Verona on January 12.
Napoli, who were beaten by Atalanta in Serie A last weekend and Roma in semi-final of the Coppa Italia in midweek, dominated from start to finish and are now only three points behind second-placed Roma - who have two games in hand.
Defeat for Milan was their first in the league since Seedorf took over as coach last month, but the Dutchman may count his blessings that his side were not beaten by a more handsome margin.
Napoli defender Faouzi Ghoulam replaced the injured Anthony Reveillere and Dries Mertens came in for Jose Callejon, who started on the bench along with January signing Henrique.
Michael Essien and Taarabt made their Milan debuts, while striker Mario Balotelli returned from suspension as Seedorf made six changes to the side that drew with Torino last weekend.
Napoli made a bright start, but they were caught out after only seven minutes when QPR loanee Taarabt raced forward before placing a measured right-foot strike into the far corner of the net from just outside the area as the home defence backed off.
The goal was harsh on Benitez's team, but they were level three minutes later courtesy of a fine left-foot strike from Inler that took a deflection and looped over Christian Abbiati.
Milan struggled to cope with Napoli's attacking threat, and Higuain was inches away from putting the home side in front when his shot flashed wide of the far post.
Abbiati was lucky to escape with only a yellow card after 22 minutes when he rushed out of his area and upended Mertens after the winger had raced onto a through ball and attempted to lob the veteran goalkeeper.
To add insult to injury, Abbiati kept out the resulting free-kick from the Belgium international, before Marek Hamsik's venomous left-foot volley flashed just wide.
Christian Maggio then hit the post from a tight angle and Lorenzo Insigne headed just wide as Milan somehow went in level at the break.
Kaka replaced fellow Brazilian Robinho at half-time, but his introduction failed to turn the tide as Napoli maintained the upper hand and Abbiati could only watch on as Insigne's strike flashed wide.
It was only a matter of time before the home side took the lead, and it was former Real Madrid man Higuain who put them in front when he headed home an inviting cross from Inler 11 minutes into the second half.
The Argentina striker was a constant menace and he ought to have given Napoli breathing space but missed his kick after evading the vulnerable Philippe Mexes.
Napoli could have been made to pay for not making their dominance count but Taarabt's strike was kept out by Pepe Reina and then Balotelli failed to capitalise after the Spanish goalkeeper had totally missed his kick.
Higuain sealed the points with eight minutes left, though, slotting home from close range after Callejon picked him out.comments