AC Milan's advantage over Fiorentina in the race to qualify for the Champions League was cut down to four points with just two games left to play following their 0-0 draw with Roma. The match was marred by racist chanting.
There were plenty of talking points from a dramatic night in Milan, which saw two players sent off and play suspended by referee Gianluca Rocchi shortly after half-time.
The Tuscan official used new league rules to halt play while a stadium announcement was issued to a section of Roma fans, who were allegedly directing abuse at several Milan players.
Sulley Muntari had earlier fallen foul of Rocchi at the end of the first half, earning a bizarre red card for dissent, and despite having an extra man Roma failed to find a winner before losing captain Francesco Totti for his elbow on former team-mate Philippe Mexes.
Palermo were relegated following their 1-0 defeat to Champions League-chasing Fiorentina at the Stadio Artemio Franchi.
Luca Toni's first-half goal was the only difference between the two sides but it was enough to seal Palermo's fate while providing a boost to fourth-placed Fiorentina's European hopes.
Marek Hamsik rescued all three points for Champions League qualifiers Napoli to beat Siena 2-1 and consolidate a historic season at the Stadio San Paolo, but their opponents slipped out of Serie A.
Napoli secured second place - the club's highest finish since 1990 - thanks to victory at Bologna on Wednesday and with the San Paolo crowd demanding one last push on home turf, Edinson Cavani levelled in the 73rd minute.
A 23rd league win of the campaign was suddenly up for grabs as Siena fell apart in the final stages and Hamsik duly nudged home a winner deep into time added on.
Genoa secured their Serie A status with a goalless draw against Inter Milan, whose poor late-season form continued at the Stadio Luigi Ferraris.
The result leaves Genoa five points clear of Palermo with one game remaining.
For Inter, the draw ended a three-game losing streak, but it was only their fourth point in the last seven matches, meaning they have little to play for when they host Udinese next weekend, on the final day of the season.
Torino also guaranteed their top-flight status as they drew 1-1 at Chievo.
Cyril Thereau put the hosts in front after ten minutes, but Alessio Cerci equalised with a penalty only nine minutes later.
Udinese remained on course for a place in the Europa League next season as an Antonio Di Natale brace saw them past Atalanta 2-1.
The Italy international turned the game on its head after Giuseppe De Luca had given Atalanta the lead when he scored his 21st and 22nd league goals of the season.
Lazio's fight for the final Europa League place continues to the final day of the season after a 2-0 victory over ten-man Sampdoria kept the Romans in touch with Udinese.
Sergio Floccari's early strike put the Biancocelesti on course for a third straight win that responded to Udinese's triumph over Atalanta.
After Mauro Icardi spurned a series of chances to drag mid-table Samp back into the tie, Antonio Candreva converted a late penalty to ensure Lazio's gap to fifth place remains at two points ahead of next weekend's season-ending game at Cagliari.
Bologna claimed a 2-0 victory and the bragging rights in the Emilia Derby as Saphir Taider and Davide Moscardelli scored the goals to beat Parma at the Stadio Ennio Tardini.
Rossoblu coach Stefano Pioli was searching for his first-ever managerial victory over his hometown club and Taider's early goal helped him break that hoodoo.
A spirited Parma fightback was thwarted by a resilient display from goalkeeper Dejan Stojanovic, who was making only his third appearance in Serie A, with Moscardelli rubber-stamping the derby win 13 minutes from time.
Information from the Press Association was used in this report