Sulley Muntari opened the scoring inside 20 seconds, turning in Antonio Nocerino’s scuffed shot. Andrea Pirlo equalised with a free-kick before substitute Sebastian Giovinco pulled his side in front moments after coming off the bench.
Giorgio Chiellini later doubled Juve’s lead, volleying home after another Pirlo set-piece came back off the woodwork. The visitors were then reduced to 10 men when Philippe Mexes saw red in bizarre fashion – initially going into the book for a foul and then instantly seeing his second yellow for moaning about the first – before Muntari grabbed his second of the match to set up a tense finale.
Struggling in mid-table after a less than satisfactory start to the season, Milan stunned the hosts by scoring inside the opening minute. Robinho collected the ball with his back to goal before teeing up Nocerino from 25 yards. The Italian’s effort was a poor one and looked to be rolling wide of the goal but fell to Muntari, who was able to divert the ball in at the near post from 12 yards.
A shell-shocked Juventus were unable to get hold of the ball following the goal and looked shaky during the following five minutes, but settled thereafter and played the better football.
Fabio Quagliarella missed a glorious chance to level the scores, ballooning his effort over the bar from 10 yards after being found by Arturo Vidal’s clever pass. Christian Abbiati was then called into action during a busy couple of minutes, beating away efforts from Kwadwo Asamoah and Chiellini.
The game ebbed and flowed with both sides attacking in numbers, though Juve continued to knock on the door, soon drawing level after Nigel de Jong brought down Carlos Tevez just outside the Milan penalty area.
In typical fashion, Pirlo stepped up to curl the ball up and over the wall and beyond the outstretched Abbiati. On reflection, the keeper will have felt he could have done more, getting a hand to the ball but unable to keep it out.
The second half started at a much slower pace and continued in the same vein until Antonio Conte introduced Giovinco, who found the net within 90 seconds of coming on. The pint-sized forward was played into the box by Vidal and skipped past Cristian Zapata to slam the ball beyond Abbiati.
Milan grew frustrated and went further behind as Mexes was shown two yellow cards in a matter of seconds. Pirlo’s resulting free-kick crashed off the woodwork but fell to Chiellini, who expertly volleyed The Old Lady further in front.
Muntari’s deflected effort set up a tense finish but proved to be nothing more than a consolation.