A stoppage-time goal from substitute Lautaro Martinez gave Internazionale a 1-0 win over Napoli who complained about racist chanting aimed at their Senegalese defender Kalidou Koulibaly, one of two players sent off in a stormy finish to Wednesday's game.
Koulibaly was dismissed in the 81st minute after he was first booked for a foul on Matteo Politano and was then shown a second yellow card for sarcastically applauding the referee's decision.
The defeat meant that second-placed Napoli dropped nine points behind leaders Juventus, who earlier drew 2-2 at Atalanta, while the gap between them and third-placed Inter was cut to five.
Napoli coach Carlo Ancelotti said that they had asked three times for the game to be stopped due to the abuse aimed at Koulibaly but that the only action taken was to make announcements to the crowd.
"The next time we will stop playing and leave the pitch, even if we have to lose the match," Ancelotti told reporters.
"I'm unhappy because three times we asked for the match to be suspended due to the racist chanting against Koulibaly.
"The boy was on edge, he's an educated footballer who was targeted ... what happened today was bad, not only for us but also for Italian football.
"Koulibaly's sending off influenced the match because we were reduced to 10 men."
The game got off to an extraordinary start when, from the kickoff, the ball was played to Inter forward Mauro Icardi who spotted Napoli goalkeeper Alex Meret off his line and produced a looping shot which bound off the crossbar.
Koulibaly rescued Napoli before half-time by clearing an Icardi shot off the line with Meret beaten and his sending off dramatically changed the course of a previously uneventful second half.
It was Napoli who nearly grabbed a last-minute winner when Lorenzo Insigne's shot was saved by Samir Handanovic and Piotr Zielinski's shot from the rebound was cleared off the line by Kwadwo Asamoah.
Instead, Inter celebrated when Martinez turned in Keita Balde's low cross from near the penalty spot.
Tempers flared again when Insigne was sent off following a clash with Balde although replays showed that the Inter player started it by tweaking Insigne's ear.
"I saw a strong Inter tonight from start to finish and we deserved the win," said Inter coach Luciano Spalletti.
"Of course, we could have lost without Asamoah's clearance but it was a great game between two teams playing good football."