Defending Italian champions Juventus have slipped to their first Serie A loss this season, going down 3-1 at Lazio on Saturday.
Luiz Felipe, Sergej Milinkovic-Savic and Felipe Caicedo all scored at the Stadio Olimpico as Lazio recovered from an early goal from Cristiano Ronaldo.
The win lifted Simone Inzaghi's side to within three points of second-placed Juventus, who trail league leaders Inter Milan by two points.
Ronaldo put the visitors in the lead after 25 minutes from close range after Rodrigo Bentancur's assist but Juve's defence was caught off guard on a corner kick just before the interval as Felipe equalised.
Milinkovic-Savic's brilliantly taken 74th-minute goal came after Juan Cuadrado was sent off for a last-man foul on Manuel Lazzari in the 69th.
Juve goalkeeper Wojciech Szczesny was faultless five minutes later when he made a double save to deny Ciro Immobile's penalty kick and subsequent follow-up effort.
The Pole parried away Immobile's effort then made an acrobatic save when the league's top scorer volleyed back from the rebound.
However, Szczesny was powerless when substitute Caicedo volleyed home deep in stoppage time.
"If we play as we can we can get great results," Milinkovic-Savic said.
"We played against a Juve who were not at their best and we took the three points
"We try to win always, but we play game by game. I think that Scudetto is a big word and we do not think about it now."
Carlo Ancelotti's future as Napoli coach is uncertain after his team failed to beat Udinese.
The 1-1 draw extended Napoli's winless run to nine matches in all competitions to leave them trailing in seventh.
Piotr Zielinski saved Napoli with a late goal that salvaged a point for the visitors.
Amid reports that Ancelotti could soon be fired, Napoli went a goal down after a counter attack which was finished by Kevin Lasagna in the 32nd minute.
In the day's opener, Atalanta fell behind twice before snatching a late 3-2 home win against Verona to stay in the hunt for a European spot.
Samuel Di Carmine opened for the guests and struck again in the second half after Ruslan Malinovskyi's equaliser.
Luis Muriel converted a spot kick on 64 minutes for the hosts' second and Berat Djimsiti scored in stoppage time after Verona had Pawel Dawidowicz dismissed four minutes from the end after a second caution.
Australian Associated Press