Cagliari secured a smash-and-grab 1-0 win at Napoli thanks to a late goal from substitute Lucas Castro and Fiorentina ended their long winless run against 10-man Sampdoria on Wednesday.
Cagliari midfielder Castro headed home from a Nahitan Nandez cross with two minutes remaining to stun the dominant hosts.
Napoli controlled large parts of the game but could not find a way past visiting goalkeeper Robin Olsen, and Dries Mertens was denied twice by the woodwork.
Things got worse for Carlo Ancelotti's side when substitute Kalidou Koulibaly was sent off for dissent after the goal.
The result left both sides on nine points but Napoli occupy fourth, ahead of fifth-placed Cagliari on goal difference.
Fiorentina climbed off the foot of the table with a 2-1 home win over Sampdoria, who consequently dropped to the bottom.
German Pezzella put Fiorentina in front before Samp defender Jeison Murillo was sent off for a two bookings after the break.
Federico Chiesa doubled the hosts' advantage and Federico Bonazzoli pulled one back for the visitors, but it didn't stop Vincenzo Montella's side from ending their 18-match winless run in the league.
Struggling SPAL fell to a 3-1 defeat at home to promoted Lecce, who registered their second away win of the season.
Bologna winger Nicola Sansone missed a penalty as they drew 0-0 away to Genoa, while Parma had two goals disallowed and a penalty saved before beating Sassuolo 1-0 thanks to a stoppage-time Mehdi Bourabia own goal.