Fifth-place Inter Milan was stunned 4-3 at home on Sunday as Atalanta came back from two goals behind thanks to a 12-minute hat trick by German Denis.
AC Milan, meanwhile, squandered a two-goal lead over 10-man Fiorentina and settled for a 2-2 draw that ended its four-match winning streak in Serie A.
Matters grew worse for Inter when Antonio Cassano limped off and had to be replaced by Ricky Alvarez.
However, Tommaso Rocchi bagged his 100th goal in Serie A -- 14 months after his 99th -- to give Inter a halftime lead.
Giacomo Bonaventura levelled shortly after the break but Alvarez restored Inter's lead just 61 seconds later and doubled his tally within four minutes.
Denis scored twice more to hand Atalanta all three points although Ranocchia should have stolen a point for Inter with the last kick of the game, but he spooned over from a few yards in front of an empty goal.
In an entertaining match between the third-place Milan and fourth-placed Fiorentina, midfielder Riccardo Montolivo put Milan ahead against his former squad when Fiorentina midfielder David Pizarro gave up the ball in the 14th minute, leaving him with only the goalkeeper to beat.
However, Fiorentina struck back with two penalties.
First, Adem Ljajic was fouled by Antonio Nocerino and converted from the spot in the 66th. Then Juan Cuadrado was tripped by Milan's 20-year-old left back Mattia Di Sciglio and Pizarro converted to draw Fiorentina level in the 73rd.
"With a two-goal lead and one more man you simply cannot let the opponent back in the match," Milan manager Massimiliano Allegri said. "These are youthful errors and I'm angry because we could have cut off Fiorentina from third place."
Milan had outscored the opposition 8-0 in its last four matches. Still, the Rossoneri remain unbeaten in the Italian league since Mario Balotelli's arrival in January.
Milan is four points behind second-place Napoli, which beat Genoa 2-0. Fiorentina remained six points behind Milan in fourth, two ahead of Inter Milan.
It is also two ahead of Lazio which faces Roma in the Rome derby on Monday.
Balotelli picked up a yellow card that rules him out of next week's match with Napoli.
Blerim Dzemaili doubled Napoli's lead 11 minutes later with his fourth goal in two games. The Switzerland midfielder had netted five in his previous 132 Serie A appearances.
On Saturday, Serie A leader Juventus beat 10-man Pescara 2-1 ahead of Wednesday's return leg against Bayern Munich in the Champions League quarterfinals.
It is nine points ahead of Napoli, with seven games remaining.
In other matches Sunday, Antonio Di Natale scored twice and set up another goal as Udinese beat Chievo Verona 3-1; Palermo, fighting to avoid relegation, won 3-1 at Sampdoria; while Siena-Parma and Catania-Cagliari ended in scoreless draws.
Siena, Palermo and Genoa are all level on 27 points, eight points below 16th place Chievo and six above bottom club Pescara.
Information from The Associated Press contributed to this report.