Miguel Britos opened the scoring after just five minutes, heading home a Raul Albiol knock-down, before Gonzalo Higuain doubled Napoli's lead eight minutes after the break.
Milan's Mario Balotelli spurned a glorious opportunity to pull a goal back when he missed a penalty in the second half, but he grabbed a late consolation with a sumptuous curled effort from outside the area.
Both sides enjoyed winning starts to their UEFA Champions League campaigns on Wednesday, and the hosts made three changes from their 2-0 success over Celtic as Ignazio Abate, Urby Emanuelson and Andrea Poli replaced Cristian Zaccardo, Kevin Constant and Antonio Nocerino.
Meanwhile, Rafael Benitez made two alterations from Napoli's 2-1 win over Borussia Dortmund, with Giandomenico Mesto and Blerim Dzemaili coming in for Christian Maggio and Gokhan Inler.
Benitez’s side flew out of the traps and carved out a host of early opportunities, with Valon Behrami and Higuain particularly threatening.
And this early pressure paid off when Britos headed home from close range after just five minutes.
The Uruguayan stole into the six-yard box and converted calmly after defensive partner Raul Albiol had knocked a deep free-kick back across goal.
Milan's top scorer Balotelli brought a good save out of Pepe Reina four minutes later as the hosts sought an immediate response, and the lively Italy international then curled a free-kick just wide shortly after.
The home side dominated the remainder of the half, but struggled to create any clear-cut chances as the Napoli defence stood firm in the face of lengthy spells of Milan possession.
While Massimiliano Allegri’s men continued their bright play in the second half, they quickly fell further behind thanks to Higuain's third league goal of the season after 53 minutes.
The Argentina international struck a powerful effort from outside the area and Christian Abbiati was unable to prevent the shot from finding the bottom corner, even though he got a hand to it.
Milan were handed a way back into the game a minute before the hour mark though when Albiol brought down Balotelli in the box.
However, the forward was thwarted by a superb Reina save, the Spaniard getting down well to his right as the former Manchester City and Inter man missed the first penalty of his career.
Undeterred, the ever-dangerous Balotelli threatened again 10 minutes later as he struck a powerful against the bar.
And the 23-year-old did eventually get the goal his performance deserved as he bent a glorious strike past the helpless Reina in the 91st minute, but Napoli held on to maintain their perfect start to the Serie A season.
The defeat was compounded for Milan after the final whistle when Balotelli was shown a red card, with his dismissal appearing to be for dissent.
Get the best features, fun and footballing frolics straight to your inbox every week.
Thank you for signing up to Four Four Two. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.