In an emotional match at Stadio Luigi Ferraris on Sunday, Victor Osimhen opened the scoring in the 19th minute after Matteo Politano had earlier had his penalty saved.
Sampdoria were hit when Tomas Rincon was sent off shortly before halftime and Napoli went on to seal victory with another penalty, struck home by Eljif Elmas.
Napoli - who lost for the first time this Serie A season when they went down 1-0 at Inter in midweek - moved seven points clear of second-placed Juventus.
Defending champions AC Milan are third on goal difference after drawing 2-2 at home to Roma.
Clashes had taken place earlier in the day between Roma fans travelling to Milan and Napoli supporters heading to Genoa.
Around 300 fans were involved, throwing flares, stones and other objects at each other, causing part of the motorway to be closed.
There were video tributes before the Napoli match to former Sampdoria players Gianluca Vialli and Sinisa Mihajlovic, who both died recently.
The Sampdoria players warmed up wearing special jerseys with Vialli's name on as well as the No.9 he wore when he played for the team.
Flowers were laid by the side of the pitch by members of the Sampdoria staff and the Italy players from Napoli.
Vialli, who died on Friday, helped Sampdoria to their only Serie A title and three Italian Cups as well as the European Cup final during an eight-year stint with the club.
Milan appeared to be heading for a comfortable win, leading 2-0 with three minutes remaining after goals from Pierre Kalulu and Tommaso Pobega.
But Roma pulled one back with their first effort on target when Roger Ibanez headed in a corner, and Jose Mourinho's team completed a remarkable comeback when Tammy Abraham equalised during added time.
Elsewhere, Empoli stunned Lazio by scoring two late goals to snatch a 2-2 draw in the Italian capital.
Lazio appeared to have the match won when Mattia Zaccagni doubled their lead early in the second half, following a header by Felipe Anderson with less than two minutes on the clock.
However, Francesco Caputo pulled one back for the visitors seven minutes from time and Razvan Marin netted a surprise equaliser with the clock showing 93 minutes.
Spezia inched four points clear of the relegation zone with a 0-0 draw at home to Lecce, while Salernitana drew 1-1 against Torino.