AC Milan were the only unbeaten side in the top European Leagues and were also enjoying the third-longest streak of Serie A consecutive matches with a goal: 35. In the history of the competition, the only two longer streaks have both been by Juventus: 43 in 2014 and 44 in 2017 – it had been an absolute purple-patch for the Rossoneri, and the days of domination returned in San Siro after almost a decade.

But, every good thing has its end and the unbeaten run of AC Milan in Serie A ended last night.  A win for the Rossoneri would have put them four points clear at the top. However, due to a lot of absentees, Juventus managed to bag full points.

The big man Zlatan Ibrahimovic, Ismael Bennacer, Saelemaekers, and Sandro Tonali were absent and it was always going to be tough to face the heat against an in-form Juventus and Cristiano Ronaldo.

But, during this season, such absentees are normal and it would be lame to give excuses.

Mind you, Juventus had their absentees as well.

Andrea Pirlo’s men produced an attacking display to become the first team to beat leaders Milan in the league in 28 matches and did so without leading scorer Alvaro Morata.

Milan discovered themselves on the backfoot courtesy of the high-pressing game of Juventus and Dybala tested Gianluigi Donnarumma from six yards before Chiesa crashed a thunderous shot onto the post.

Dybala’s smart back-heel sending Chiesa into the area and the Fiorentina loanee sent a low shot bouncing into the far corner of Donnarumma’s net from 12 yards.

Juve had Szczesny to thank for keeping them ahead with a string of saves but he was powerless to stop Calabria’s shot from finding the top corner after the lively Rafael Leao teed him up – although Juventus claimed Adrien Rabiot was fouled in the build-up.

Szczesny got down well to save Diogo Dalot’s powerful 20-yard shot as Milan came out firing after the interval but Juve weathered the storm before Aaron Ramsey missed a golden chance to give them the lead, shooting wide from close range with just Donnarumma to beat.

Just after the hour mark, Chiesa struck again, Dybala picking him out on the edge of the box where he bent a superb left-footed shot into the far corner.

Chiesa then left the field with an injury and was replaced by McKennie, who swept home Juventus’ third in the 76th minute after a jinking run through Milan’s defence by fellow substitute Dejan Kulusevski.

The Rossoneri created a lot of opportunities, but what they lacked was the clinical finishing of Zlatan. While Bennacer is crucial for his team, Davide Calabria was good in the midfield – which surprised everyone.

Calabria had a rough time last season. He was good on Gattuso’s side but then experienced a lean-patch and was behind Conti in the pecking order last season. The problem with Calabria in the past was he was error-prone and a lot of those ended up leading to the opposition scoring, and even if he played well that ultimately got to his confidence.

But, he learned from the mistakes and worked to improve – his technique on the ball was very sound in the midfield.

While he is often overlooked because of the wonders Theo has been doing on the left, Calabria is surely growing into one of the pillars of Milan.

With Hauge and Castillejo failing to provide the impact that Chiesa had, for example, Milan ultimately didn’t have the answer to Juve’s defence. Meanwhile, in the right-wing position, Castillejo once again failed to make an impact.

Milan missed the cutting-edge of Theo Hernandez and in this seas, for the first time, perhaps, he had an off-day at the office – Neither was he effective with the ball while advancing forward nor was he solid while defending.

His marking let him down on the first goal as he was slow to keep up with Chiesa and allowed the Italian to open the scoring. It was similar on the second goal as he allowed Federico too much space and the winger did no mistake in doubling his tally.

Diogo Dalot on the right, even though not contributing much in the attack, but was decent enough with his defensive duties.

Simon Kjaer did a fantastic job and kept Ronaldo quiet.

He managed to limit the threat of Ronaldo to a minimum proving just how good he really is. Unfortunately for him, his teammates had a rough night this time around and it didn’t go Milan’s way.

Milan could have been ahead at half-time had Leao made more of the clear-cut chances that fell to him and, despite his assist for Calabria’s goal, he will remember this game for his three unsuccessful shots at goal.

Milan coach Stefano Pioli said the match against Juventus will ‘not be decisive’ but stressed the Rossoneri ‘play to win’ against the Old Lady.

“I expect a growing Juventus that undoubtedly had to start a new path,” Pioli said at a press conference.

“They are losing something but remain a very strong team.”

“They are well organized on the pitch and difficult to take in many situations. It will be a match to be tackled from a tactical point of view.”

“We can’t change our goal. Our goal tomorrow is the match against Juventus and we will try to win. Milan-Juventus remains Milan-Juventus for the history, for the blazon of the two clubs and for the fans.”

“It’s an important match and we know it well. Ours is a marathon and therefore we can’t think of taking just one shot. It’s not a decisive match, but it will be an important match.”

“We are doing well, we want to do well, and we want to try to win.”

The Rossoneri might have been defeated, but their spirit is high.

AC Milan lost and the end of their unbeaten run, in turn, should release the pressure and allow them to play a bit more freely in the coming days.