The visiting side started the game brightly and was soon ahead through Miguel Britos, with Gonzalo Higuain doubling the lead just after halftime.
Mario Balotelli squandered the chance to regain a foothold in the match, missing the first penalty of his career, though the Italy international scored a brilliant consolation strike at the death.
Both sides enjoyed winning starts to their Champions League campaigns on Wednesday, and the home team made three changes from its 2-0 success over Celtic. 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.
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 home side sought an immediate response, and the lively Italy international 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 defense 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 was 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 shot against the bar.
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 its 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.