Atalanta striker Denis scored three times in 12 minutes, with his first goal coming from the spot after the hour mark, as the Bergamo-based club came from two goals behind to hand Inter their third defeat in four Serie A matches.

Inter opened the scoring just before half-time on Sunday at the San Siro when Tommaso Rocchi headed a corner home at the near post.

The visitors hit back 11 minutes into the second half when Giacomo Bonaventura showed impressive skill to dink the ball over Inter goalkeeper Samir Handanovic, but the home side regained the lead immediately afterwards through Ricardo Alvarez.

Alvarez notched his second goal in the 61st minute after cutting inside from the right and beating Atalanta goalkeeper Ciro Polito at the near post to give Inter a 3-1 lead.

The goals continued to flow in Milan, however, with Atalanta pulling off a brilliant comeback.

Atalanta substitute Marko Livaja helped Denis to his first goal, earning a 65th-minute penalty, which his Argentine teammate smashed home.

Just six minutes later and Denis brought Atalanta level with a shot from the edge of the area and in the 77th minute the 31-year-old striker put the visitors in front, tapping home from Bonaventura's cutback.

The result leaves Inter in fifth place with 50 points, 21 behind leaders Juventus - increasing the pressure on manager Andrea Stramaccioni - while Atalanta moved up to 13th with 37 points.

Meanwhile, Napoli survived a missed second-half penalty from Edinson Cavani to overcome Genoa 2-0.

Goran Pandev and Blerim Dzemaili both scored for Napoli in the first half, sending the Neapolitans four points clear of third-placed Milan, who squandered a two-goal lead to draw 2-2 with Fiorentina.

Former Fiorentina captain Riccardo Montolivo started with the perfect return to Florence, scoring the opener for Milan before setting Mathieu Flamini up for the second.

Milan looked set to ease to victory over their fourth-placed hosts, who had been reduced to 10 men following the dismissal of Nenad Tomovic, but the visitors fell to pieces in the final half-hour, gifting Fiorentina a share of the spoils courtesy of two penalties, which were converted by Adem Ljajic and David Pizarro.

Elsewhere on Sunday, Italian striker Antonio Di Natale bagged a brace as Udinese consolidated ninth place thanks to a 3-1 victory over Chievo.

Palermo, who sit second from bottom, boosted their survival hopes with an impressive 3-1 win away to Sampdoria, moving them level on points with 17th-placed Siena following their goalless draw against Parma.

Meanwhile, Catania and Cagliari could not find the back of the net and had to settle for a point apiece at the Stadio Angelo Massimino.