Highlights: Juventus 1-0 AC Milan
Juventus need four points to successfully defend the Serie A title after Arturo Vidal's penalty decided a crucial 1-0 victory over AC Milan.
While the Rossoneri sweat over their chances of competing in next season's Champions League, Juve can seal a second straight Scudetto by winning next Sunday's derby meeting with Torino, should second-placed Napoli fail to beat Pescara.
A Vidal penalty in the second half was the difference between the two sides, who are now separated by 18 points with five games remaining.
A last-gasp goal from substitute Lorenzo Insigne settled a thrilling 3-2 victory over Cagliari to keep Napoli's faint Serie A title hopes alive.
When Victor Ibarbo edged the Sardinians ahead midway through the first half, it looked like Napoli were finally thwarted in their attempt to catch leaders Juventus over the remaining five games.
A double salvo from Marek Hamsik and Edinson Cavani just after the interval briefly made amends until Cagliari's Marco Sau made it 2-2 with 20 minutes remaining.
A late strike from Tommaso Rocchi lifted some of the pressure off Inter Milan and under fire boss Andrea Stramaccioni as they beat Parma 1-0 at the San Siro.
Roma slipped out of the European places after being held to a disappointing 1-1 home draw by rock-bottom Pescara, who picked up only their second point in 14 matches.
Gianluca Caprari gave Pescara a shock 14th-minute lead at the Stadio Olimpico and although Roma got back on level terms at the start of the second half through Mattia Destro, the home side could not force a winner.
Romulo's 86th-minute strike spared Fiorentina's blushes and earned a 4-3 win after plucky 10-man Torino had looked to have earned a share of the spoils by fighting back from three goals down.
La Viola needed the Brazilian to come to their rescue despite appearing on course for a thumping win as goals from Juan Cuadrado, Alberto Aquilani and Adem Ljajic put them 3-0 ahead just after the opening half hour.
Barreto gave the visitors hope just before the interval and strikes from Mario Santana and Alessio Cerci put them back on an even keel, but Romulo ensured their endeavour was not rewarded late on.
To compound their misery, Matteo Darmian was sent off in injury time for a second bookable offence.
Josip Ilicic scored at the death in the Sicilian derby to deny 10-man Catania all three points and keep Palermo within touching distance of a future in Serie A in a 1-1 draw.
Defeat at the Stadio Angelo Massimino, which seemed inevitable following Pablo Barrientos' opener midway through the second half, would have left the Rosanero second from bottom and three points from safety.
Ilicic had other ideas, though, sparing his side's blushes and dragging the club to within a point of 17th-placed Siena with a confident finish four minutes into second half stoppage time.
Two of Serie A's midtable clubs played out a 1-1 draw at the Renato Dall'Ara after Gianluca Sansone cancelled out Alberto Gilardino's first half strike.
With Bologna and Sampdoria sitting 12th and 14th, neither came into the match with much to play for, safe from the threat of relegation with little chance of challenging for a European place.
Sergio Pellissier virtually secured Chievo's Serie A status for next season with the only goal of a 1-0 victory at struggling Siena, who remain one point above the relegation zone.
The Flying Donkeys opened a 10-point gap over the bottom three as 17th-placed Siena failed to respond to Pellissier's effort on the stroke of half-time.
Information from the Press Association was used in this report