Inter Milan's seven-game winning streak was ended by Atalanta, who picked up their fourth win from their last five games with a 3-2 triumph at the Stadio Atleti Azzurri d'Italia on Sunday night.
Giacomo Bonaventura gave Atalanta an early lead which lasted until 11 minutes into the second half when Fredy Guarin equalised.
German Denis restored Atalanta's lead instantly before adding a third from the penalty spot in the 67th minute.
Rodrigo Palacio brought Inter back into the game in the 84th minute and Atalanta were reduced to 10 men when Facundo Parra was dismissed in stoppage time, but the Bergamese side held on to the points to move up to sixth in the table.
Only 10 minutes were on the clock when Bonaventura had the home fans on their feet for the first time as he nodded in a left-wing cross from Federico Peluso.
Inter responded well with Andrea Consigli twice making spectacular saves to deny Palacio an equaliser, but Denis should have extended Atalanta's lead in the 34th minute, instead lifting the ball over the crossbar from 10 yards out.
Esteban Cambiasso was next to miss for Inter with his first shot blocked and his follow-up header too weak.
Guarin brought Inter level in the 59th minute with a free-kick which he drilled powerfully through a gap in the wall and Consigli only managed to push the ball into the roof of his own goal.
The joy of equalising was short-lived, though, with Denis restoring Atalanta's lead within a minute, slotting in Maxi Moralez's cross from just a few yards out.
Atalanta were then given a penalty when Moralez tricked and turned inside the penalty area before going to ground under the challenge of Matias Silvestre.
Denis stepped up to score from the spot and give the Orobici a two-goal cushion.
Samir Handanovic denied substitute Parra a fourth in the 84th minute, and Inter went up the other end of the field to reduce the arrears with Palacio finally getting the better of Consigli at his third attempt of the night, setting up a grandstand finish.
A red card for Parra for a push from behind on Guarin in stoppage time complicated matters for the home team, but Inter were unable to make any headway as Atalanta held on to all three points.