Kamil Glik scored to boost Torino’s chances of qualifying for the Europa League, while Napoli remain three points behind Roma, who play league leaders Juventus on Monday.
Napoli came into the match having lost just one in their previous 10 matches in all competitions, but Torino were full of confidence after beating Athletic Bilbao to progress into the Europa League round of 16.
Glik netted his sixth league goal of the season in the 68th minute, heading home a corner.
Manolo Gabbiadini curled a trademark free kick off the base of the post as Torino held on go a 12th game unbeaten.
Lazio closed the gap on Napoli to two points with a 3-0 victory at Sassuolo, with goals from Felipe Anderson, Miroslav Klose and Marco Parolo helping the capital club to a third successive win.
Sassuolo entered the game on the back to two straight defeats and it was Lazio who broke the deadlock on the stroke of halftime. Francesco Acerbi cleared Seydou Keita’s cross but only as far as Felipe Anderson, who curled a delightful shot into the top right corner from just outside the area.
The Brazilian was also involved Lazio’s other goals, with a cross into the box for Klose to convert in the 70th minute and a shot which took a series of ricochets before Parolo fired it home.
Mohamed Salah was on target again as Fiorentina remained a point behind Lazio following a 1-0 victory at Inter Milan, while Sampdoria sit just three points behind them after coming from behind to win 2-1 at Atalanta.
Both Fiorentina and Inter were in form and full of confidence after progressing in the Europa League midweek but substitute Salah scored the only goal of the game 10 minutes into the second half.
The Egyptian followed up to tap home after Inter goalkeeper Samir Handanovic fumbled at Manuel Pasqual’s cross. It was Salah’s third goal in his four Serie A matches since joining Fiorentina from Chelsea.
Inter went close to the equalizer on several occasions but they could find a way through despite Fiorentina ending the game with nine men after Nenad Tomovic and Stefan Savic were stretchered off with injuries.
Sampdoria were looking to reignite their season after a run of six matches without a win, however, it was Atalanta who took the lead in the 16th minute when Guglielmo Stendardo tapped in Boukary Drame’s cross.
Luis Muriel levelled with a magnificent goal, chesting down Stefano Okaka’s cross, letting it bounce and then smashing it under the bar on the half volley.
Samuel Eto’o almost scored his first goal since arriving at Samp from Everton in January with a powerful strike which Marco Sportiello fumbled and let it fall behind him, but Okaka pounced to make sure it crossed the line.
Atalanta remained three points above Cagliari and the drop zone.
Cagliari lost a relegation battle 2-1 at home to Verona. Elsewhere, Palermo drew 0-0 at Empoli, while Cesena beat Udinese 1-0.