Atalanta had to wait until the 81st minute to break through, but eventually battered down Udinese 2-0 to go clear in the fourth and final Champions League spot.
Follow all the action as it happens and give your views on the LIVEBLOG.
The Orobici round off a dream few days, as after booking their spot in the Coppa Italia Final, they go clear in fourth, as Milan lost to Torino and Roma beat Cagliari. Josip Ilicic, Musa Barrow and Rafael Toloi were out injured, so Mario Pasalic started in the trequartista role. Udinese were hovering four points clear of the drop zone and had only one away win all season. The absentee list included Seko Fofana, William Troost-Ekong, Nicolas Opoku, Valon Behrami and Antonin Barak, with Bram Nuytinck returning for a spot on the bench.
This was the last match to be played at the Stadio Azzurri d’Italia before restructuring work begins in the €40m project, as their final two Serie A home games of the season will be at Sassuolo’s Mapei Stadium.
It was a siege for long periods from Atalanta, almost paying off on 18 minutes when Juan Musso got his wrist to a Robin Gosens glancing header from the corner.
Udinese were dangerous on the counter and Sandro drilled straight at Pierluigi Gollini, but Musso again performed heroics by flying to fingertip a Marten de Roon volley out from under the bar.
Papu Gomez turned defenders inside out to get his cross to the far post for a Pasalic header wide, then Samir made a last-ditch tackle to stop Duvan Zapata tapping in a low cross.
At the other end, Udinese countered four against two, but Jose Luis Palomino sprinted back for a perfectly-timed tackle on Ignacio Pussetto.
Kevin Lasagna had a huge chance moments later, spotting Gollini off his line and attempting a lob that only skimmed the empty net.
It was wide open and Pasalic blasted over from 12 yards after good work from Gosens and Duvan Zapata.
With Ilicic and Musa Barrow injured, Atalanta introduced youth team striker Roberto Piccoli for defender Gianluca Mancini.
Gomez blasted over from distance, then somehow kept the ball in at the touchline while also sending Duvan Zapata down the right, setting up Piccoli for a shot charged down by Samir.
Papu started to take control and first his ball across the six-yard box was desperately cleared by Jens Stryger-Larsen, then his turn and snapshot stung Musso’s gloves.
Udinese lost Sebastien De Maio to injury, but despite being under siege, Udinese almost won it on 72 minutes when Rodrigo De Paul’s curler beat Gollini to bounce off the far post.
Piccoli rolled across for Duvan Zapata to come sliding in, but Stryger-Larsen got just about enough on it to allow a Musso save from six yards.
The siege eventually paid off when Andrea Masiello was supporting Piccoli and snuck up to pinch a loose ball, tripped in the box by Sandro for a penalty. Despite Duvan Zapata and Gomez being on the pitch, Marten de Roon stepped up and converted by sending Musso the wrong way.
Suddenly it was like a weight had been lifted and four minutes later it was 2-0, as the Pasalic strike from the edge of the box took a big deflection off Bram Nuytinck to loop over a helpless goalkeeper.
It could’ve been more in stoppages, but Duvan Zapata dribbled between a crowd of players to force a Musso save from point-blank range.
Atalanta 2-0 Udinese
De Roon pen 81 (A), Pasalic 85 (A)
Atalanta: Gollini; Mancini (Piccoli 46), Palomino, Masiello; Hateboer, Freuler (Djimsiti 78), De Roon, Gosens (Castagne 64); Pasalic; Gomez, Duvan Zapata
Udinese: Musso; Stryger-Larsen, De Maio (Nuytinck 71), Samir; D’Alessandro (, De Paul, Sandro, Mandragora (Badu 74), Zeegelaar; Lasagna, Pussetto
Watch Serie A live in the UK on Premier Sports and get your first month free. £5.99 thereafter until September with promo code: ITALIA https://subscribe.premiersports.tv/