Hugo Campagnaro's late volley cancelled out Sergio Floccari's first half opener. Lazio dominated the first 45 minutes, but Napoli gave as good as they got in the second half. Lazio remain in third after halting a run of two straight defeats. Napoli stay in second place, but now trail league leaders Juventus by five points.
Louis Saha started from the Lazio bench after joining the club on Wednesday, while Hernanes wore a protective helmet after making a fast recovery from a head injury suffered 11 days ago in the Coppa Italia. Valon Behrami and Goran Pandev faced their former club, but Blerim Dzemaili was suspended.
It was action from the word go. Hernanes curled the first chance wide within the first 90 seconds. Giuseppe Biava then cut out a through ball meant for Edinson Cavani and an unmarked Stefan Radu prodded Antonio Candreva's corner over at the near post.
Poor marking led to the opening goal on 11 minutes. Candreva fed Abdoulay Konko who crossed for an unmarked Floccari to chest the ball down and fire into the bottom corner. The Napoli defence were all at sea. Stefano Mauri bizarrely turned his ankle after treading on the ball during the celebration and had to be substituted shortly after.
Morgan De Sanctis had to make two quick saves in succession from Candreva, first saving a free-kick then fingertipping a shot wide from the edge of the area. Giandomenico Mesto looked for a penalty on 25 minutes after going down under Alvaro Gonzalez, but the Napoli man was booked for diving.
The visitors almost equalised on the half hour mark with their first real chance. Federico Marchetti spilt Carlos Zuniga's hopeful shot, Pandev crossed and Senad Lulic got his head to clear before Cavani could pounce.
Lazio almost doubled their advantage when Napoli stood off Floccari and the frontman thumped the post from distance. Paolo Cannavaro then intercepted Candreva's pull back for Floccari in the area.
Cavani went close to equalising nine minutes before the break. He met Pandev's cross with a header which hit the underside of the bar and bounced off the line. Napoli lost Behrami to injury in first half stoppage time. His replacement, Lorenzo Insigne was booked for handball less than a minute after coming on. De Sanctis flew to palm out a Hernanes free kick to ensure his side went into the break just one goal down.
The home side had the ball in the net five minutes into the second half. Biava headed inshot, but was judged offside for standing right in the goalmouth.
Omar El Kaddouri came on for the visitors and immediately sent a shot straight at Marchetti as Napoli signalled their attacking intent. On the hour, Gokhan Inler's shot whistled just past the post and Cavani was called offside after being threaded through by Insigne.
Lulic caught De Sanctis in no man's land and lofted the ball over him. Unfortunately for the Bosnian, Campagnaro was able to get back in time to clear. At the other end, Marchetti closed the gap on Marek Hamsik to force a save, then comfortably caught Pandev's looping header.
Lulic wasted another golden chance after dispossessing Cannavaro, only to run clear and send a weak shot straight into De Sanctis' grateful arms.
With three minutes left to play, Marchetti picked up some flying miles to palm Inler's rocket wide. From the resulting corner, Napoli found their equaliser. Campagnaro caught El Kaddouri's cross with a beautiful volley which zipped past everyone into the net.
Both sides went for the win. Saha made his debut, Marchetti beat away Pandev's drive, and Candreva lofted over from distance. Floccari had one final chance, but his free header from Candreva's cross rattled the top of the crossbar.
Lazio: Marchetti; Konko, Biava, Dias, Radu; Ledesma; Candreva, Gonzalez, (Saha 90) Hernanes, (Cana 72) Mauri; (Lulic 18) Floccari
Napoli: De Sanctis; Campagnaro, Cannavaro, Gamberini; Mesto, (El Kaddouri 55) Behrami, (Insigne 45) Inler, Hamsik, Zuniga; (Calaio 80) Pandev, Cavani
Goals: Floccari 11 (L), Campagnaro 87 (N)