Daniele Baselli's opener for the hosts made it look like Filippo Inzaghi's men were in for a rough ride, but Giampaolo Pazzini and Giacomo Bonaventura completed a comeback
Early on, it looked like another defeat was on the cards for Filippo Inzaghi's men as Daniele Baselli headed home emphatically to cap an excellent start for the home side.
A limp-looking Milan did at least show some fight to turn the game around, although the irony is that the damage was done by two players who began their careers at Atalanta.
First Giampaolo Pazzini won and dispatched a penalty with 36 minutes on the clock before Bonaventura tapped home two minutes later to turn the game on its head.
Bonaventura ended the game as a contest with 10 minutes remaining, scrambling in his second after a scruffy effort had hit the post.
Milan have been waiting for the season to end from almost the very start and the same appeared to be true of their final game as 17th-placed Atalanta dominated the opening stages.
With just eight minutes played, Luca Cigarini's ball over the top of the Milan defence was misjudged by Gabriel Paletta forcing Chrtistian Abbiati to make a brave close-range stop from Baselli.
The 23-year-old midfielder was not to be denied for long though as another excellent run into the box was picked out by Maximiliano Moralez's cross, allowing Baselli to head beyond Abbiati and into the net with 21 minutes played.
Milan, reacted strongly, however, and Pazzini stroked home the equaliser from the penalty spot with 10 minutes of the half remaining after Andrea Masiello had pulled him back in the area.
That goal brought about another for the visitors just two minutes later as Stephan El Shaarawy's cross got all the way to Pazzini at the far post.
The 30-year-old smashed his shot against the post but another Atalanta old-boy in the form of Bonaventura was on-hand to tap home the rebound.
The second-half began as the first had, with Atalanta dominating the ball and the chances but on this occasion, they could not find a way beyond Abbiati.
Cigarini went close with a powerful free kick from just outside the area with an hour played before Milan survived a real scare five minutes later.
Abbiati could only parry a low Davide Zappacosta cross back out into the heart of the penalty area but Alejandro Gomez could not quite reach the ball and Palleta cleared to safety.
Bonaventura made them pay for that miss 10 minutes from the end with a very similar goal to his first, calmly passing the ball into the net after he had prodded Andrea Poli's cross onto the post.