Milan: AC Milan was held to a 1-1 draw at Genoa on Sunday, cutting its Serie A lead to three points after Napoli beat Cesena 2-0 at home.
Alexandre Pato opened the scoring for Milan, but Antonio Floro Flores equalized with his first Genoa goal since joining during the transfer window.
For Napoli, Cavani scored early and Jose Sosa added a second goal in injury time.
"Napoli is a top team and playing very well," Milan coach Massimo Allegri said. "We know with Napoli breathing down our necks we cannot relax for the rest of the season."
Third-place Lazio also let a one-goal lead slip, drawing 1-1 at home to Chievo Verona. Hernanes opened the scoring in first-half injury time for the hosts, before Bostjan Cesar leveled for Chievo midway through the second period.
Also Sunday, it was: Bologna 1, Catania 0; Brescia 2, Bari 0; Lecce 2, Palermo 4 and Parma 1, Fiorentina 1.
Milan began slowly, but took the lead just before the half-hour mark. Zlatan Ibrahimovic slipped the ball across goal, Pato took one touch before sidefooting the ball past goalkeeper Eduardo.
The Brazilian wasted a chance to double his tally shortly after. Robinho crossed from the left but, as Pato was shaping to shoot, Dario Dainielli got back to clear for a corner.
Genoa made Milan pay immediately, Floro Flores equalizing after he was first to a loose ball in the box.
"We know that there is a lot of work left to do and a lot of games remaining," Allegri said. "In the first half today, we played well and created chances. But in the second, we were too rushed, weren't able to create chances and gave the ball away too much."
Cavani hit his 18th goal of the season to give Napoli the lead in the 13th minute. Marek Hamsik slipped the ball to Christian Maggio, who cut it back for Cavani to poke in at the near post.
Four minutes into the second half, Napoli thought it had scored a second, but Maggio's header was ruled out despite replays showing that the ball and Cesena goalkeeper Francesco Antonioli had been behind line when he pushed it away.
Sosa added a second late on when he slid in and hooked home Giuseppe Mascara's low cross.
"We were just concentrating on what we were doing," Cavani said. "We didn't hear about the Milan result until we got into the changing room. Of course it is good, but we still have a long way to go in the season."
At Rome's Olympic Stadium, Lazio went straight on the attack and Nicolas Frey cleared Libor Kozak's shot off the line.
Kozak then forced Chievo 'keeper Stefano Sorrentino into a sharp save, while at the other end Fernando Muslera kept out Sergio Pellissier's free kick.
Sorrentino stopped Mauro Zarate's low shot, but there was little he could do to keep out Hernanes' free kick, which flew over the wall and into the top corner on the stroke of halftime.
Chievo equalized when Bostjan Cesar swept home Mariano Bogliacino's corner midway through the second half.