Juventus wrapped up their seventh successive Serie A title, and their fourth league and cup double in a row, with one match to spare when a 0-0 draw at AS Roma gave them the point they needed on Sunday.
The Turin side, who won the Coppa Italia on Wednesday with a 4-0 win over AC Milan at the same Stadio Olimpico, took a four-point lead over second-placed Napoli with one match left to play.
Napoli will finish as runners-up for the second time in the last three seasons after winning 2-0 at Sampdoria in a match briefly interrupted in the second half because of anti-Neapolitan chants by home supporters.
Juventus maintained their perfect domestic record in their four seasons under Massimiliano Allegri. They have also reached two Champions League finals in that period.
Roma, already qualified for next season's Champions League, dominated the first half and Edin Dzeko, Radja Nainggolan and Lorenzo Pellegrini all just missed the target as the hosts looked dangerous.
Paulo Dybala had the ball in the net two minutes after halftime but he was fractionally offside and Roma were reduced to 10 men when Nainggolan, already booked, was sent off for an ugly foul on Dybala in the 68th minute.
The game petered out after that as Juve coasted home.