The hosts started brightly and raced into a 17th-minute lead through Juan Jesus, the defender’s goal given after a VAR intervention, with the on-field referee having originally ruled it out for handball.
Against the run of play, with their only shot at goal in the match, Salernitana levelled through Federico Bonazzoli in the 33rd minute.
That was only a brief reprieve for the visitors from across the Gulf of Naples, however, as Dries Mertens put Napoli back in front from the penalty spot in first-half stoppage time, before Amir Rahmani tapped home four minutes after the break to make it 3-1.
Salernitana’s afternoon went from bad to worse moments later as Frederic Veseli was sent off for picking up a second yellow card when penalised for handball in the penalty area.
Substitute Lorenzo Insigne scored from the spot to seal a comfortable victory for Napoli who climbed to second on 49 points, one clear of AC Milan, who play Juventus later on Sunday, and four adrift of leaders Inter.
Salernitana stayed rooted to the bottom of the standings on 10 points from 22 matches, eight points from safety.