The Germany forward put the ball in the net in the third minute for Lazio and the goal was initially awarded but the referee changed his mind when Klose admitted using his hand. Cavani also missed a penalty as Napoli joined Juventus on 13 points at the top of Serie A.
Inter Milan won by the same score at Chievo while Francesco Totti, one day short of his 36th birthday, scored for AS Roma, who let slip a lead at home for the second match running and drew 1-1 with promoted Sampdoria.
It was Palermo's second last-gasp 1-0 defeat in four days since Gian Piero Gasperini replaced Giuseppe Sannino who was fired after only three games.
Marco Boriello missed one penalty, hitting the post, but converted a second in the 88th minute to give Genoa a 1-1 draw at home to Parma, who had taken the lead with a first-half volley by Alessandro Lucarelli.
The second penalty, awarded for a foul on Boriello, was hotly protested by Parma.
Lazio's visit to Napoli got off to a stormy start when Klose punched the ball into the net from a corner, leading to a scuffle as the referee awarded the goal.
Klose, in an act of sportsmanship, signalled that he had handled and the goal was disallowed.
Napoli took full advantage of the let-off and went ahead when Uruguay forward Cavani scored with a deflected long-range effort in the 19th minute, then beat the offside trap to run on to Paolo Cannavaro's pass and add the second 12 minutes later.
"Klose's gesture deserves a prize," Cannavaro told touchline television reporters at halftime.
Cavani added his third in the 64th minute as Lazio claimed he was offside but missed out on a fourth 11 minutes later when he blazed a dreadful penalty effort high and wide of Federico Marchetti's goal.
Milan became the first home side to win in nine attempts in all competitions at San Siro this season, going ahead after El Shaaraway played a one-two with Riccardo Montolivo to slot the ball home in the 16th minute.
Cagliari, the only winless team alongside Palermo, had Daniele Conte sent off after picking up two yellow cards in four minutes in the second half. El Shaaraway ran on to Massimo Ambrosini's pass to add the second, taking Milan up to 10th with six points.
Alvaro Perreira and Antonio Cassano scored in each half to give Inter, who share the San Siro with Milan, their third straight away win, this time at Chievo, leaving them fourth with nine points.
Totti scored after a penalty area scramble to give Roma a 34th minute lead against Sampdoria but his team, who blew a 2-0 lead and lost 3-2 at home to Bologna in their previous home game, again allowed victory to slip away.
Despite having Enzo Maresca sent off at the start of the second half, Sampdoria equalised when Roma goalkeeper Maarten Stekelenburg failed to hold Gaetano Berardi's cross and Gianni Munari pounced to equalise.
- Related links