Juventus slumped to a shock 2-1 defeat at lowly SPAL on Saturday to put their Serie A title celebrations on hold, while Franck Kessie scored from the spot to keep AC Milan in the Champions League places with a 1-0 win over Lazio.

Massimiliano Allegri’s side had needed just a point to claim their eighth Scudetto in a row with a record six games to spare, and they looked on track to seal the title when young gun Moise Kean stuck his foot out to direct a Joao Cancelo effort home after half an hour in Ferrara.

However Kevin Bonifazi and Sergio Floccari responded with two precious second-half goals which moved lowly SPAL seven points clear of the relegation zone.

“Making records is very difficult, it takes energy and there is also Europe to concentrate on,” said Allegri, who rested key players including Cristiano Ronaldo ahead of Tuesday’s Champions League quarter-final decider against Ajax in Turin.

“If we had put all our regulars in it would have been easier to win it, but there is also the goal to obtain on Tuesday.”

Juventus have a 20-point advantage on second-placed Napoli and can still seal the title in record time on Sunday if Carlo Ancelotti’s side fail to win at bottom club Chievo.

Ronaldo was rested for the second time this season and the club fell to just their second defeat of the campaign.

The five-time Ballon d’Or winner returned from a thigh injury during the week to score an away goal in the first leg of their tie with against Ajax, which ended 1-1 on Wednesday.

Defender Leonardo Bonucci was also rested along with Blaise Matuidi, Alex Sandro, Mario Mandzukic and Miralem Pjanic, with forward Federico Bernardeschi coming off the bench late in the game.

Mattia Perin replaced Wojciech Szczesny in the Juventus goal with Kean getting his second start alongside Paulo Dybala up front.

Seventeen-year-old defender Paolo Gozzi and midfielder Grigoris Kastanos, 21, were given their first starts.

“We paid a little for our inexperience,” said Allegri. “We played with a lot of youngsters. I regret this defeat because I think the match deserved more a draw than a loss.”

Kean broke the deadlock when he redirected a tame Juan Cancelo drive, thrusting out his right boot to turn the ball beyond Emiliano Viviano.

The Italy international became the youngest player to score in four consecutive Serie A matches, having scored six in as many games, and played in just eight this season.

Bonifazi pulled SPAL level three minutes after the break when he connected with a corner to head past Perin, and Floccari fired in the winner on 74 minutes, prompting Allegri to send on Bernardeschi to try and salvage a point.

But SPAL held on to move up to 13th after beating Juventus for just the second time after 1957.

Roma ‘miracle’

The battle for elite European football remains tight with just six points separating AC Milan, on 55, and Lazio, who are now eighth on 49, but with a game in hand.

Kessie slotted in a penalty after 79 minutes in a tense game against Lazio at the San Siro after Riza Durmisi brought down Mateo Musacchio in the box, to end Milan’s four-match winless run.

“Congratulations to the lads, now we must find continuity,” said Milan coach Gennaro Gattuso.

“We are recovering from the bad times.”

Claudio Ranieri’s Roma are one point behind having temporarily moved into the Champions League places earlier after Edin Dzeko scored the only goal against Udinese.

In heavy rain in Rome, Dzeko scored his first home league goal in nearly a year. The Bosnian connected with a Stephan El Shaarawy cross to finish off from close range.

“For the season we’ve had it’s already a miracle that we’re here,” said Dzeko of their Champions League challenge.

Champions League contenders Torino and Atalanta host Cagliari and Empoli on Sunday and Monday respectively.