Defence won out over attack, as Inter secured the silver medal with a 2-0 victory in Bergamo, scoring two early goals and holding firm to stop Atalanta finding the net for the first time since September.
A spectacular Simone Zaza volley cancelled out the Mattias Svanberg opener, as Torino picked up a 1-1 draw away to Bologna.
Brescia saw out the season with a point against Sampdoria in Daniele Gastaldello’s final match, as Fabio Quagliarella missed a penalty, while the hosts hit the woodwork twice.
Genoa got the result they needed to secure safety and send Lecce into Serie B, even though they ended the 3-0 win over Verona down to nine men.
Juventus lost their unbeaten home record in the final game of the season, as Roma fought back to defeat an experimental side, ending a run of eight consecutive defeats here.
Lecce needed a victory and for Genoa to not beat Verona, but neither of those things happened and they go down into Serie B with a typical seven-goal thriller.
Zlatan Ibrahimovic saw his penalty saved, but still got on the scoresheet along with Samu Castillejo and a Ragnar Klavan own goal, as Milan conclude the season with a comfortable victory.
Ciro Immobile equalled the all-time Serie A record of 36 goals, set by Gonzalo Higuain in this stadium, but Lazio lost 3-1 to Napoli and finished the season fourth.
Udinese were clinical in their finishing and Sassuolo wasteful, not to mention denied by Juan Musso heroics, in a shock home defeat.
Fiorentina found it tougher than expected to break down already-relegated SPAL, but eventually took control for a 3-1 away victory.