Napoli forward Lorenzo Insigne has scored a late goal as last season's Italian Serie A runners-up squeezed a 1-0 win over Fiorentina while Inter Milan's troubles continued as they lost 1-0 to Parma, sunk by a player they sent out on loan last month.
A stunning long-range strike by Federico Dimarco on Saturday gave promoted Parma their first win since their return to the top flight this season following bankruptcy three years ago.
Napoli, who badly needed a win after being soundly beaten by Sampdoria two weeks ago, have taken nine points out of a possible 12 without playing the flowing football which became their hallmark under former coach Maurizio Sarri.
Carlo Ancelotti, who replaced Sarri at the end of last season, restored captain Marek Hamsik and forward Jose Callejon to the side after surprisingly dropping them against Sampdoria.
But it was still a disjointed performance from Napoli, played in front of a disappointing 20,000 crowd at the San Paolo stadium, the poor attendance being blamed on an increase in ticket prices.
A draw seemed on the cards until Arkadiusz Milik chipped a pass into the area to Insigne who collected the ball and fired past Bartlomiej Dragowski with 11 minutes left.
Inter's defeat at San Siro left them with only four points from their opening four games. They had the better of the game and let numerous chances go begging before being punished by Federico Dimarco.
The 20-year-old won the ball in midfield and then beat Samir Handovic with a 25-metre shot that swerved, dipped and went in off the underside of the bar for his first-ever Serie A goal.
Dimarco was raised at Inter and played twice for them as a 17-year-old. He was loaned to Ascoli and then Empoli, was sold to Swiss club Sion in 2017 and bought back in July, before being loaned out to Parma one month later.
Inter host Tottenham Hotspur on Tuesday as they return to the Champions League after a six-season absence.