The Argentine equalised shortly after the visitors went ahead early in the first half through Ricky Alvarez, dealing a blow to Walter Mazzarri's side's top-of-the-table chase
German Denis cancelled out Ricky Alvarez's 16th-minute opener to ensure Inter are now five games without a win against their Lombardy opponents.
Alavarez was the first to react when Rodrigo Palacio headed down Mateo Kovacic's deep cross from the right as he got the visitors off to an ideal start.
However, Denis, who scored five goals against Inter last season, proved to be a thorn in the side for Walter Mazzarri's men once more as he beat the returning Walter Samuel in the air to equalise.
The draw moves Atalanta above Parma and into eighth while Inter remain in fourth, at least temporarily.
The home side made three changes from Saturday's 1-0 defeat to Sampdoria, while Samuel made his first appearance of the season for Inter after recovering from injury, replacing Andrea Ranocchia in defence, and Samir Handanovic returned in goal following suspension.
Atalanta had won their last two home games and were the first to threaten through Michele Canini, who saw his close-range header cleared off the line by Fredy Guarin after nine minutes following Handanovic's inability to retain the ball from a corner.
However, Inter were ahead through Alvarez seven minutes later, courtesy of a neat, swivelled finish as he latched onto Palacio’s knock-down to fire his third goal of the season past Andrea Consigli.
Atalanta were quick to set about finding an equaliser, with former AC Milan defender Mario Yepes twice going close with headers, but Denis would not be denied in the 24th minute.
The forward rose highest to reach a Maximiliano Moralez cross and plant a header past the reach of Handanovic, continuing his hot streak against Inter in the process.
It was played at a frenetic pace thereafter, with Atalanta having the best of the possession despite not threatening Handanovic's goal any further.
Yuto Nagatomo almost put Inter back on top, but his header crashed back off the post four minutes from the break.
Inter were forced into a change of goalkeeper at the break, Juan Pablo Carrizo replacing Handanovic, who appeared to strain a muscle when taking a goal kick in the first half.
Carrizo was forced into his first save a minute short of the hour mark, with Marko Livaja seeing his long-range effort collected at the second attempt.
Inter hit back through Alvarez, when he shimmied well inside the area, before shooting straight at Consigli as both sides pressed for the winner.
Yepes' fierce drive was saved by Carrizo eight minutes from time while Inter saw a penalty turned down a minute later when substitute Mauro Icardi went down in a tumble with Guglielmo Stendardo as the spoils were shared.