Atalanta dominated the match with numerous chances, including two big Hans Hateboer misses, a goal-line clearance and series of Bartlomiej Dragowski saves, but somehow Empoli earned a point.
Chievo are mathematically relegated to Serie B after Napoli forced Juventus to postpone the Scudetto party with Kalidou Koulibaly’s first career brace.
Vincenzo Montella’s debut on the Fiorentina bench was a disappointing draw with Bologna, as both sides had penalty appeals rejected.
Inter consolidated third place with a relatively comfortable 3-1 victory away to Frosinone, sealed by Radja Nainggolan, Matias Vecino and the Ivan Perisic penalty.
Lazio had the better of the first half and hit the woodwork, but Milan snatched a precious victory to retain fourth place after a Franck Kessie penalty.
Edin Dzeko scored the decisive goal on a smart Stephan El Shaarawy assist, as Roma squeezed past Udinese to at least temporarily go fourth.
Gregoire Defrel and a Fabio Quagliarella penalty gave Sampdoria bragging rights, but Genoa were again furious over a harsh red card.
Andrea Consigli was the hero for Sassuolo, as he saved Fabio Ceravolo’s penalty to ensure they held Parma to a draw.
Moise Kean was on target for the fourth Serie A game on the bounce, but SPAL fought back for a 2-1 victory to postpone the Juventus Scudetto party.
Simone Zaza was hero and villain, as he scored the goal for Torino, was sent off and nine-man Cagliari snatched an away draw.