Partenopei coach Gennaro Gattuso needed goals from defenders Kostas Manolas and Giovanni Di Lorenzo to secure the three points, while Simone Edera got a consolation goal for the Granata.
The victory leaves Napoli in sixth place with 39 points after 26 games whereas Torino are 15th and are just five points from the relegation zone.
The Granata started off brightly and were attacking the Partenopei, almost pouncing on a David Ospina error, but it was the home side that had the first shots on target.
Arkadiusz Milik forced a save out of Salvatore Sirigu with a long-range shot and the Torino goalkeeper had to remain alert to deny Lorenzo Insigne soon after.
It took the Neapolitans 18 minutes to open the scoring. Insigne took a free-kick from the right-wing and Manolas out jumped everyone else in the box to head the ball past Sirigu.
Napoli were then eager to double their lead. Matteo Politano’s shot from distance was clearly off target, Insigne shot straight at Sirigu after a Cristian Ansaldi error, while nobody was able to turn Piotr Zielinski’s cross in which flashed across goal.
The Granata goalkeeper made a fingertip save after Milik knocked the ball down to Insigne, who tried his luck with a volley. Insigne then took a free-kick minutes later but he blasted it high.
It was a rather uninspiring opening 10 minutes to the second half but Milik then failed to get a proper connection on an Insigne pass and another Zielinski cross, which looked more like a shot, flashed across goal.
Torino striker Andrea Belotti struggled to get much service up front but he dropped back to halt Napoli midfielder Stanislav Lobotka from scoring with a solo run.
Di Lorenzo had a great chance to seal the win with less than 20 minutes to go but Sirigu was able to deny the Partenopei right-back in the one-on-one situation.
Politano also could have found the back of the net when the Torino goalkeeper came off his line and he tried to chip the ball from a tight angle but the former Sassuolo and Inter winger hit the side netting.
A rare chance fell to the Granata soon after when Simone Zaza tried to connect with an Ansaldi cross from the left but his overhead kick went horribly wide. Belotti then tried his luck from distance but he also failed to hit the target.
Napoli finally scored their second goal in the 82nd minute after Torino failed to clear a corner properly. Dries Mertens had come on to replace Milik and he received the ball on the left-wing. He crossed with his right foot, Di Lorenzo ran past Tomas Rincon, and then he slid in to put the ball into the net.
Torino did pull a goal back one minute into stoppage time when Ansaldi crossed from the left-wing and Edera scored with a looping header after he was unmarked at the far post.