Milan: Paulo Dybala struck the decisive goal in Juventus' 1-0 win over AC Milan on Sunday after replacing Cristiano Ronaldo as Juventus stayed top of Serie A, while Lazio and Cagliari moved into the Champions League places.
Argentine forward Dybala hit the winner in the 77th minute in the Allianz Stadium having taken the place of Ronaldo 20 minutes earlier.
Defending champions Juventus maintain their one-point lead over Antonio Conte's Inter Milan who had taken pole position after their 2-1 win over Verona on Saturday.
AC Milan's seventh defeat in 12 games saw Stefano Pioli's side drop to 14th position, just four points above the relegation zone.
However Milan had threatened as the former European giants chased their first win against Juventus in Turin in eight years.
Wojciech Szczesny was kept busy in the Juventus goal, denying fellow Pole Krzysztof Piatek, Lucas Paqueta and Hakan Calhanoglu.
Blaise Matuidi missed Juventus's best chance before Dybala's winner when his powerful curling effort flew wide just after the break.
Five-time Ballon d'Or winner Ronaldo, who had also been taken off during the midweek Champions League win over Lokomotiv Moscow, reportedly left the stadium before the end of the game after being substituted on 55 minutes.
Douglas Costa also came on for Federico Bernardeschi after an hour, with the two substitutions changing the game for the champions.
Gonzalo Higuain fed Dybala, who easily shook off Alessio Romagnoli to beat Donnarumma and claim his third league goal this season.
"Cristiano should be thanked because he made himself available despite not being in optimal conditions," said Juventus coach Maurizio Sarri.
"In the last month he has had this discomfort in his knee and this a little problem for him.
"It's only natural a player is going to be irritated to leave the pitch, especially when he worked so hard to be there."
Returning hero Nainggolan
Behind the leaders, Lazio and Cagliari moved into the top four after goal-packed wins.
Lazio saw off newly-promoted Lecce 4-2, while surprise package Cagliari continued their superb form with a 5-2 rout of Fiorentina.
The two teams are level on 24 points, eight behind Juventus with Lazio ahead of the Sardinians on goal difference.
Lazio's Argentine forward Joaquin Correa hit a brace either side of Sergej Milinkovic-Savic's strike, with Serie A top-scorer Ciro Immobile slotting in a penalty at the Stadio Olimpico.
Cagliari, who battled relegation last season, have been in superb form since Radja Nainggolan returned to the Sardinian outfit after five years away, including a difficult season at Inter Milan last term.
The Belgian contributed three assists and capped a stellar performance with the fifth goal of the game on 65 minutes.
Fiorentina are struggling without Franck Ribery who is serving a three-match ban for pushing an official.
Nainggolan set up Mark Rog for the opener on 17 minutes, with Fabio Pisacane nodding in the second less than ten minutes later.
The 31-year-old was involved again in Giovanni Simeone's third goal against the Argentinian forward's parent club, as well as Joao Pedro's effort 10 minutes after the break, before blasting in his second goal of the campaign from distance.
He was given a standing ovation when substituted in the 78th minute.
"We are doing something extraordinary," said Nainggolan whose side are unbeaten in 10 games, which include seven victories and three draws.
"Nobody would have said at the beginning of the year that we could play so well," said the Belgian.
"There is an enthusiasm that hasn't been seen at Cagliari for years."
Atalanta lost ground in the league days after their 1-1 draw against Manchester City thanks to a goalless draw at relegation-threatened Sampdoria.
The Bergamo side are winless in three league games and played the last 15 minutes in Genoa a man down after Ruslan Malinovskiy was sent off for a second yellow card.
Paulo Fonseca's injury-depleted Roma also showed signs of fatigue after their Europa League defeat in Germany, falling 2-0 at Parma and dropping down to sixth.
Parma pulled through thanks to a Mattia Sprocati strike on 68 minutes and Andreas Cornelius finding a way through deep into injury time.