Yesterday's victory meant Milan moved to within eight points of leaders Inter Milan with a game in hand and the Milan derby to come in two weeks time.
A victory for the rossoneri in that would ensure the champions come under much greater pressure than they have in their previous four title triumphs.
Juve are 12 points back and have lost six of their last eight matches in all competitions. Alessandro Nesta and a Ronaldinho brace settled the affair but all three goals were due to Juve's inept defending at corners.
Milan coach Leonardo denied the Old Lady of Turin had made life easy for his team, though.
"Honestly it was very difficult, especially in the first first half when we needed some time to get organised," he said.
"We struggled but we didn't give up many chances, we didn't create a lot but we conceded even less. The second half was perfect, we managed to hold the ball, pass it quickly and we gave Juve problems."
It was an unsurprisingly tentative start from both teams but Juve playmaker Diego tried to spark the game into life on 13 minutes as he cut in from the left and curled a right-foot shot just wide of the far post.
However, 'The Old Lady' fell behind on 29 minutes after a defensive disaster.
Andrea Pirlo's corner was poor and sent in low to the near post but Christian Poulsen left it, Felipe Melo missed it, goalkeeper Alex Manninger was caught unawares leaving Nesta, whose marker Zdenek Grygera had stopped, the simple task of tapping home from two yards out at the back post.
Juve did belatedly react but it was centre-back Giorgio Chiellini, their best player, whose shot was straight at goalkeeper Dida after his central defensive partner Fabio Cannavaro's weak effort fell to him.
Milan, though, finished the half on a high as Manninger parried Thiago Silva's long range strike before Ronaldinho's header from David Beckham's corner was deflected behind.
Juve failed to exert much pressure after the break despite the introduction of Alessandro Del Piero on the hour mark and Chiellini was proving their most dangerous threat from set-pieces, without actually troubling Dida.
The win was secured on 72 minutes as another unimpressive Pirlo corner found Ronaldinho six yards wider than the near post but his flicked header skimmed off Paolo De Ceglie's head and beat Manninger at his front post.
Two minutes from time Beckham took a short corner and then crossed from the right with Juve's hapless defensive again missing the ball and a surprised Ronaldinho tapping home at the back post from six yards.
In earlier games, Napoli extended their unbeaten run under coach Walter Mazzarri to 14 games following a 1-0 home victory against Sampdoria that boosted their growing challenge for a top four finish.
German Denis's second half goal earned the southerners three points that leaves them fourth in the Serie A table, just goal difference behind Juventus and a point above AS Roma.
They have not been beaten since October - 13 league games and one cup match - when former Sampdoria boss Mazzarri took over from the sacked former Italy coach Roberto Donadoni.
Mazzarri refused to get carried away, though.
"We'll add up the points at the end of the season, this league is very balanced, it's the details that will make the differences," he said.
French goalkeeper Sebastien Frey made two crucial second half stops to help Fiorentina beat Bari 2-1 in Florence and go sixth.
Romania captain Adrian Mutu had cancelled out Paulo Barreto's opener in the first period before substitute Jose Castillo grabbed the winner as both teams finished with 10 men.
Palermo are level on points with Fiorentina after Uruguayan forward Edison Cavani's penalty gave them a 1-0 win over coach-less Atalanta.