Milan made four changes to the side that edged Sassuolo in Diego Laxalt, Lucas Biglia, Davide Calabria and Andrea Conti as the visitors chased three points to close in at the top.
The high-flyers from Bergamo were pegged back after Hakan Calhanoglu whipped a free-kick from close-range into the far corner 14 minutes in following a foul by Raphael Toloi.
A penalty to Atalanta provided the outfit a chance to go level after 25 minutes as Mattia Gabbia brought down Ruslan Malinovskiy, who couldn't beat Gianluigi Donnarumma.
Milan surrendered their advantage when Duvan Zapata poked home a deflection from Gabbia 34 minutes in after holding a challenge from Calabria following Remo Freuler's attempt.
The Nerazzurri's pressure play before halftime nearly had Zapata squeezing a low attempt through Donnarumma, but the Italia got down for the save.
Toloi who received a yellow card was sacrificed at the start of the second half, with Bosko Sutalo slotting in for the Brazilian-born defender.
Atalanta showed up with renewed spirit, as Martin De Roon flashed narrowly off target from point-blank range after persistent build-up play.
It was all Atalanta as the final quarter beckoned, with Zapata going close to a brace off a ball from Alejandro Gomez who had done well holding off a few challengers.
Milan managed to come alive again and cracked the base of the post after Rafael Leao released Giacomo Bonaventura who despite the angle, still got a shot away with 74 minutes played.
The pace of the match began to drop towards the remaining minutes, as it ended all square with Atalanta missing the chance to edge closer to leaders Juventus.