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.
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 ten men when Facundo Parra was dismissed in added time, but the Bergamese side held onto the points to move up to sixth in the table.
Only ten 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 ten 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.
Denis at the double
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 hosts 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 match, setting up a grandstand finish.
A red card for Parra for a push from behind on Guarin in added time complicated matters for the home team, but Inter were unable to make any headway as Atalanta held onto all three points.