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.
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.