A Federico Chiesa brace and a goal from substitute Weston McKennie got the job done for the reigning champions.
In the absence of many first-team players, including Zlatan Ibrahimovic, due to injuries and COVID-19 issues, the Rossoneri were significantly weakened during this fixture.
They struggled for possession and missed a couple of good chances during the opening half. Even though Davide Calabria equalised with a stunner just before the break, it was reduced to a mere footnote.
Stefano Piolo's men remain at the top of the standings despite the loss. However, they would be disappointed for failing to capitalise on Inter Milan's own defeat earlier in the day. Meanwhile, Juventus climb up to fourth place, with a game in hand.
Here are the hits and flops from the match:
Hit: Wojciech Szczesny (Juventus)
Wojciech Szczesny pulled off incredible stops to deny AC Milan throughout the game as he arguably turned in his best performance of the season thus far.
Most of his saves came during an open first half, where he denied Samuel Castillejo from close range and saved Leonardo Bonucci the blushes of an own goal.
Even though the second half was a bit more relaxed, he was always on his toes and parried some long-range efforts from Hakan Calhanoglu.
The Polish custodian finished with eight saves on the night, the most he's managed in a single game for Juventus in 115 appearances!
Flop: Samuel Castillejo (AC Milan)
We could've gone with any player from AC Milan's attacking vanguard as almost all of them disappointed in one way or another. However, Samuel Castillejo gets the unwanted spot here as he was the weakest link in their attack.
The 25-year-old spurned a great chance during the early stages of the match. He, however, misplaced his shot after barging into the penalty area.
Matthijs de Ligt and Gianluca Frabotta did well to keep him in check. The former Villarreal forward was effectively taken out of the game and failed to muster a single shot after that initial effort.