Inter Milan clinched the Serie A title after Atalanta could only draw at Sassuolo on Sunday.
Inter, 2-0 winners at Crotone on Saturday, have held a commanding lead over the chasing pack for some time and have now been crowned champions of Italy for the first time since 2010, ending Juventus' nine years of dominance.
Atalanta overcame an early red card for goalkeeper Pierluigi Gollini by taking the lead through Robin Gosens after 32 minutes. Domenico Berardi equalised from the penalty spot at the start of the second half before Marlon Santos was sent off for the hosts.
It remained 1-1, leaving Inter 13 points clear at the top of the table with just four matches left to play.
Antonio Conte's side snatched top sot from city rivals AC Milan on February 14 and have stayed there ever since, running away with the title in the end.
It is Conte's fourth Serie A title after winning the league three times with Juventus in 2012, 2013 and 2014.
Napoli dropped points in the race for the Champions League places as they drew 1-1 with struggling Cagliari. Victor Osimhen's 13th-minute strike looked to be enough for Gennaro Gattuso's team, but Nahitan Nandez equalised in stoppage time.
Lazio gave their hopes of a top-four finish a boost with a 4-3 home success against Genoa. Goals from Joaquin Correa and Ciro Immobile, from the penalty spot, gave the hosts the half-time lead, but an Adam Marusic own goal after 47 minutes gave Genoa hope.
Luis Alberto immediately restored the two-goal cushion and, when Correa added a fourth before the hour mark, the game looked to be over. However, Gianluca Scamacca's penalty and an Eldor Shomurodov effort made it a tense final 10 minutes for Lazio.
There were also plenty of goals at the Stadio Renato Dall'Ara, where Bologna and Fiorentina shared the points in a 3-3 draw. Rodrigo Palacio scored a hat-trick for the hosts, while Dusan Vlahovic (2) and Giacomo Bonaventura replied for the visitors.
Villarreal warmed up for the second leg of their Europa League semi-final against Arsenal on Thursday with a 1-0 home win against Getafe in LaLiga, with Yeremi Pino on target after 79 minutes.
Unai Emery's side climbed up to sixth place above Real Betis, who drew 1-1 at Real Valladolid. Aitor Ruibal put Betis ahead, but Shon Weissman's equaliser meant a sixth successive draw for the visitors.
Rennes's hopes of finishing fifth in Ligue 1 were dealt a blow with a 1-0 defeat at Bordeaux. Steven Nzonzi's eighth-minute red card made life difficult for the visitors and Sekou Mara's goal three minutes later proved to be the winner.
Nantes gave their survival hopes a boost with a 4-1 win at Brest. Moses Simon, Ludovic Blas, Imran Louza and Kalifa Coulibaly scored for the visitors before Romain Faivre's late consolation.
Nimes remain in relegation trouble after a 2-2 home draw with Reims. Renaud Ripart and Moussa Kone scored for the hosts, while Nathanael Mbuku and Alexis Flips were on target for Reims.
Relegated Dijon's misery continued with a 5-1 defeat at home to Metz, while goals from Yoane Wissa and Fabien Lemoine saw Lorient win 2-0 against Angers as both teams finished the match with 10 men, and Saint-Etienne came from behind to win 2-1 at Montpellier.