Ricky Alvarez fired Inter into the lead with a smart finish, but German Denis' powerful header earned the hosts a deserved equaliser.
The point left Inter in fourth place, three points behind third-placed Juventus, and Atalanta eighth.
There was a frantic start to the match in rainy conditions in Bergamo and Inter's Fredy Guarin had a deflected shot saved rather unconvincingly by Andrea Consigli, who spilled the ball behind for a corner.
The visitors threatened again when Yuto Nagatomo got to the byline down the left only for his cut-back, which would have left Rodrigo Palacio with an easy tap-in, to be cut out at the near post by Michele Canini.
But the hosts almost went ahead in the ninth minute as Guarin had to clear Canini's header off the line after goalkeeper Samir Handanovic had made a mess of dealing with a free-kick from the right.
Instead Inter took the lead after 16 minutes.
Mateo Kovacic's cross from the right was headed back toward the near post by Palacio where Alvarez, who had struggled to keep his feet on the wet surface up till this point, squeezed a shot inside the post.
Mario Yepes should have levelled when he had a free header at the back post from a left-wing corner, but could only sent it wide.
Handanovic then tipped over a Yepes header from another dangerous corner
The pressure was mounting on Inter and they were pegged back in the 25th minute as Denis met a right-wing cross with a towering header which found the corner of the net.
Inter lost Handanovic at half-time with apparent injury, Juan Pablo Carrizo coming on in his place.
The Milan side almost went in front when another substitute Mauro Icardi turned inside his marker and fired in a left-foot shot which cannoned back off the near post.
But they had Carrizo to thank for earning them a point in the dying minutes with a fine reaction save with his foot from a Yepes effort from close range as both sides had to settle for a point.