Napoli clinched second place with a 3-0 victory at Bologna, while champions Juventus claimed their ninth straight league win.
Walter Mazzarri’s side confirmed their place in the runners-up position and next season’s UEFA Champions League after three second-half goals.
Following a frustrating first half, the visitors finally broke the deadlock through Marek Hamsik’s 20-yard effort in the 54th minute.
Edinson Cavani quickly doubled Napoli’s advantage from the penalty spot for his fourth goal in two games, before Blerim Dzemaili fired in a third.
Serie A champions Juventus overcame Atalanta courtesy of a solitary goal from Alessandro Matri in the 18th minute.
However, the game was overshadowed by fan trouble as both sets of supporters threw fireworks at each other, which Juve coach Antonio Conte and the Atalanta players personally tried to calm down.
Udinese moved into fifth place with a 3-2 win at Palermo, who now have little hope of surviving the drop with two games remaining.
Luis Muriel gave the visitors an early lead but Palermo hit back two minutes into the second half when Fabrizio Miccoli equalised from the penalty spot.
Udinese’s Antonio Di Natale missed a penalty of his own, after Salvatore Aronica handled inside the area, but Gabriele Angella restored their lead with a header in the 64th minute.
The home side drew level nine minutes from time through Abel Hernandez but there was more drama as Mehdi Benatia grabbed Udinese’s third two minutes later.
Palermo’s defeat meant that Sampdoria are mathematically safe following a 1-1 draw with Catania, in which Lorenzo De Silvestri and Nicolas Spolli scored.
Elsewhere, Milan boosted their chances of a third-place finish with a 4-0 win at Pescara, who were relegated to Serie B last Sunday.
Sulley Muntari and Mathieu Flamini added to a Mario Balotelli brace as the visitors dominated proceedings and eased to three points.
Inter’s hopes of a top-six finish were all but ended after Lazio’s first victory at San Siro for 15 years, sealed thanks to a 3-1 victory.
The hosts fell behind to an own-goal and despite Ricky Alvarez’s equaliser, Inter failed to take their second half chances while Hernanes and Ogenyi Onazi netted for Lazio.
Relegation candidates Torino and Genoa earned a vital point each in a 0-0 draw, which has kept both sides out of the bottom three.
Meanwhile, Gonzalo Rodriguez decided the Tuscan derby to keep Fiorentina in the hunt for third and possibly send Siena to Serie B.
Giuseppe Lachini’s men now need two wins from their remaining two games to have any chance of avoiding the drop.
Aleandro Rosi gave Parma a narrow 1-0 victory over Cagliari in a game with very little to play for at the Stadio Rocco.