Defending champion Juventus struggled again as it was held to a 1-1 draw at Parma in Serie A on Sunday.
Second-place Lazio is now only three points behind Juventus after recording a controversial 2-0 win at home to Atalanta.
It is a blow for Juventus, which had an eight-point advantage at the start of the year.
Napoli is two points further back after cruising to a 3-0 win at home to Palermo. Fifth-place Fiorentina surprisingly lost 3-1 at Udinese as Antonio Di Natale scored twice.
Juventus was eager to get back to top form after a loss at home to 10-man Sampdoria last week and a narrow extra-time victory over AC Milan in the Italian Cup.
However, Parma is the only team left in Serie A yet to lose a game at home.
Parma dominated the early stages but Juventus slowly began to get into the game and Pirlo sounded a warning shot at the end of the first half with a free kick which Antonio Mirante did brilliantly to keep out.
Pirlo had scored four goals this season, all from direct free kicks, and he added to his tally when his effort was deflected off Jonathan Biabiany in the wall and completely wrong-footed Mirante.
In Rome, Floccari broke the stalemate in the 67th minute. Stefan Radu's cross was bundled onto the crossbar and the rebound hit the striker's arm before he fired it home from a couple of yards out.
The Atalanta players were furious and surrounded the referee but the goal stood.
Lazio doubled its lead when Brivio headed Stefano Mauri's cross into his own net.
Atalanta ended the match with 10 men as Carlos Carmona was sent off after picking up a second yellow card.
Insigne's younger brother Roberto also came off the bench, to make his Serie A debut.
Edgar Barreto hit the bar for Palermo with a free kick.
Information from Press Association and The Associated Press was used in this report.