It seems like these two teams can't face each other without an officiating error playing a crucial part in the outcome.
It's almost a good thing the referee's error took place, because at least it gives us something to talk about. Milan and Juventus served up an uninspired game filled with bad passing and a general lack of depth.
In the end, the Rossoneri played with more fire than their rivals from Turin and deserved the win, even if it was only barely.
In this article, we'll take a look at what Juventus can take away from this game.
Yeah. I'm being that guy in this slide. Deal with it.
I explained in this article how all the elements were in place for a Juventus upset, and what the keys would be for that to happen.
Too much talent in the Milan squad for them to be taken lightly? Just look at how Nigel De Jong and Riccardo Montolivo dominated the battle for midfield, or how Mattia De Sciglio and Kévin Constant completely took away the wings.
A hungrier Milan? It was their power and no-nonsense approach to the battle for possession that led to Juve failing to find a rhythm.
Juventus looking tired? Their all-world midfield triangle put together their worst performance in two years.
The referee getting involved? You can double-check that.
You could see this kind of performance coming for weeks, yet fans all over the world seemed convinced the mighty Bianconeri would just walk all over a struggling Milan.
Football really is a funny game.
Fabio Quagliarella and Mirko Vucinic might look like a good pairing on paper, but it doesn't work in real life. And this game was a painful reminder of that fact.
Vucinic needs a striker next to him that will let him do what he does best: present a target to midfielders and get open.
Quagliarella likes to move in space and create openings with his mobility.
Put both on the field at the same time, and all you see is Quagliarella running all over the place, closing spaces for Vucinic to receive the ball.
And when he does get the ball, he buries his head in the grass and runs until he loses possession.
When Sebastian Giovinco replaced Quagliarella, you immediately saw an improvement in the offensive movement of the Bianconeri.
Giovinco might be very useful as a substitute, where he can use his energy against a tired defense, but maybe Juventus need him to start so they can find a pairing up front that is compatible.
Much has been made of Juve's 3-5-2 system and the importance of the players out on the wing, but it is not yet a finished product.
Kwadwo Asamoah has all of the potential in the world and has proven to be a very useful player, but he struggles against faster backs that understand he never uses his right foot.
Mattia De Sciglio did a fantastic job against the Ghanaian international, limiting his offensive production to a couple of bad crosses and a few runs that went nowhere.
When Asamoah can't use his superior athleticism to beat his direct opponent, he struggles to make an impact on the game. I've said it a million times already: he needs to develop a right foot.
Mauricio Isla had looked impressive against inferior opposition in recent weeks, but he looked completely out of place against Kevin Constant. His runs were bad, his crosses went absolutely nowhere and his impact on the game was even smaller than Asamoah's.
Both players have a lot of talent, but when they're not having a good game Juve's entire system falls apart.
Isla was eventually replaced by Simone Padoin, who has no idea how to play on the wing to begin with. His inclusion in the second half can only be described as a brain fart by the coaching staff.
There's going to be nights like these, and without Antonio Conte on the sidelines to make some tactical changes, Juventus will have a hard time winning games when the guys out wide are struggling.
Juve's biggest strength is their triangle in midfield consisting of Andrea Pirlo, Arturo Vidal and Claudio Marchisio.
Against Milan, Pirlo continued his downwards spiral, Vidal possibly had his worst game of the season and Marchisio didn't even bother to make the trip up to the fashion capital.
Seriously, I don't even think he touched the ball during the first 30 minutes.
I'm a big fan of the MVP midfield, but tonight they were awful. All of them.
Pirlo, who was greeted by the Milan fans with a chorus of boos, was dispossessed multiple times, misplaced a great number of his passes and failed to orchestrate the attack in his usual manner.
His performances have been less than impressive in recent weeks, and I fear he might be playing too many minutes for a man his age.
Vidal misplaced nearly all of his passes and was a shadow of the player we've grown accustomed to. Milan's Nigel De Jong and Riccardo Montolivo completely took him out of the game.
Marchisio has been struggling with his form for weeks now, and looking back at his performance, he should never have started.
He's a phenomenal player having a hard time on the field at the moment. It happens.
Credit Milan for disrupting what is essentially the heart of this team, but with all three players in good form, this would never have happened.
Not everything was bad for the Bianconeri. The defense had a very solid night, as we've come to expect from this group.
Andrea Barzagli and Leonardo Bonucci had good games, but it was Martin Caceres who really impressed, starting in place of the injured Giorgio Chiellini.
Playing on the left side of the three-man line, Caceres looked very composed from the first minute and contributed the most to the buildup of the entire back line.
Alongside Paul Pogba, the Uruguayan is the most talented player currently sitting on the Bianconeri's bench and his role with the team should be increased. He's incredibly versatile, and I'd like to see him get a shot at the right-wing position.
He has the pace and skill to play the position, and he rivals Stephan Lichtsteiner when it comes to energy. He's a good crosser and more capable of scoring than either Lichtsteiner or Isla.
Most importantly, he's just more talented.
His performance against Milan should warrant more playing time, and I believe he could be a part of the starting eleven when given the chance.
Last year's ghost goal was clearly a far bigger screw-up by the officials, but that doesn't make this right.
Any neutral fan will tell you Juventus got screwed. You can't have a hand ball if the ball, well, doesn't touch your hand.
What makes matters worse is that the referee made no indication as to seeing something wrong until well after the play was over and a few of the Milan players started to run at him with their arms up in the air.
The Bianconeri will feel hard done by, but they shouldn't forget that they got away with a far bigger error from the officials last year.
In the end, Milan were the hungrier side tonight and even though a draw would have been the most logical result, Milan deserved the three points more than Juve did.
The Bianconeri will have to regroup from this loss and the way it was delivered to them, and prepare to play their crosstown rivals Torino next week.