Real Madrid fell to a second consecutive home defeat on Tuesday evening as they were thoroughly beaten 3-1 by AC Milan in the Champions League.
An entertaining first half piled more pressure on Carlo Ancelotti's side after their Clasico demolition, with Vinicius Junior's penalty sandwiched in between a header from Malick Thiaw and tap-in from Alvaro Morata.
Milan were much the better side in the Spanish capital and produced a clinching third goal in the 73rd minute as Tijjani Reijnders lashed home from close range to punish a dismal Madrid performance.
How the game unfolded
The competition's two most successful sides share 22 Champions League and European Cup titles but Madrid entered their first duel in 14 years as strong favourites. Having been thrashed by Barcelona in their most recent outing, the Santiago Bernabeu crowd was expecting drastic improvements from Los Blancos for the visit of Milan.
However, it was more misery in the first half for the home supporters, with Milan edging in front in the 12th minute. Christian Pulisic's excellent corner was headed home by Thiaw at the near post and Mike Maignan helped the visitors retain their lead with quickfire saves from Kylian Mbappe and Vinicius shortly after the restart.
Madrid responded quickly to falling behind, stepping up the intensity and winning a penalty just nine minutes after the opener. Vinicius was felled in the area by a lunging Emerson Royal and the Brazilian winger tucked home the subsequent spot kick, calmly passing the ball down the middle to level proceedings.
But the reigning European champions remained some way off their best despite the equaliser and they were punished for some lackadaisical defending before half-time. A wayward pass from Aurelien Tchouameni was pounced upon by Milan and Rafael Leao's parried strike was converted from close range by former Madrid striker Morata.
Ancelotti made two alterations at the break as Eduardo Camavinga and Brahim Diaz entered the fray but the duo were unable to turn the tide. Milan continued to stifle a toothless Madrid and pose problems on the counter-attack, Leao forcing Andriy Lunin into an athletic save seven minutes after the restart.
Jude Bellingham and Mbappe both had chances to equalise around the hour mark but produced wasteful finishes characteristic of their seasons. Morata almost punished their sloppiness at the other end but his near-post flick caught the outside of the post.
Milan eventually did take advantage of their dominance following another swift counter-attack. A flowing move down the left-hand side saw Leao burst towards the byline, pulling back for Reijnders to fire home from close range and put daylight between the Italian giants and their hosts. Milan continued to slice through the Spanish champions at will.
Madrid thought they had been handed a lifeline in the closing ten minutes as Antonio Rudiger produced a stunning finish following Maignan's poor punched clearance. However, after a lengthy VAR review, the goal was chalked off for offside.
Ruben Loftus-Cheek and Diaz spurned opportunities to score late in the match for their respective sides, but Milan held on for a deserved victory at the Bernabeu following another underwhelming Madrid performance on home soil.
Real Madrid player ratings (4-3-1-2)
GK: Andriy Lunin - 5/10 - Parried Leao's shot into the danger zone as Morata restored Milan's lead but did make some strong saves to deny the visitors.
RB: Lucas Vazquez - 3/10 - Struggled with a double-up of Leao and Theo Hernandez and couldn't influence proceedings in the Milan half. Beaten comfortably as Leao set up Reijnders after half-time.
CB: Eder Militao - 4/10 - Left exposed by an absent midfield as Milan flooded the Madrid half on the break. Beaten for speed and strength by Leao as the visitors grabbed a third.
CB: Antonio Rudiger - 5/10 - The usually reliable German couldn't get out of second gear but wasn't aided by a lacklustre midfield trio.
LB: Ferland Mendy - 5/10 - Failed to apply enough pressure to the in-form Pulisic and offered zilch in the Milan final third.
DM: Aurelien Tchouameni - 4/10 - Gifted possession to Milan in the build-up to the visitors' second and spent the next few minutes being booed by his own supporters. Hooked at half-time.
CM: Federico Valverde - 5/10 - Anonymous during the first half as Milan won the midfield battle. Replaced at the break alongside Tchouameni.
CM: Luka Modric - 6/10 - Rarely involved bar one impressive pass for the offside Bellingham and failed to provide any magic in central areas.
AM: Jude Bellingham - 4/10 - Continues to look a shadow of his former self as he snatched at chances and struggled to link up with his fellow forwards.
ST: Kylian Mbappe - 4/10 - Spurned several promising opportunities, opting for power over placement, and looked a centre-forward devoid of confidence.
ST: Vinicius Junior - 6/10 - One terrible piece of play acting in the first half aside, Vinicius again proved the spark for Madrid in their brightest moments. However, he was still some distance off his electric best here.
Substitutes
SUB: Eduardo Camavinga (46' for Tchouameni) - 5/10 - Failed to stamp any authority on the game and was no more commanding than Tchouameni as Milan sliced through the hosts.
SUB: Brahim Diaz (46' for Valverde) - 5/10 - Couldn't harm his former side in a quiet display and missed a glorious chance in stoppage time.
SUB: Dani Ceballos (63' for Modric) - 6/10
SUB: Fran Garcia (74' for Mendy) - 6/10
SUB: Rodrygo (74' for Bellingham) - 6/10
Subs not used: Fran Gonzalez (GK), Sergio Mestre (GK), Fran Garcia, Jesus Vallejo, Arda Guler, Rodrygo, Endrick.
Manager
Carlo Ancelotti - 3/10 - A dire performance from his side, who are still miles off the pace in defence, midfield and attack. Too slow and cumbersome from first minute to last, with his substitutions unable to change the flow.
Milan player ratings (4-2-3-1)
GK: Mike Maignan - 6/10 - Made the necessary saves but wasn't overworked by Madrid's forward line. Dived remarkably early for Vinicius' penalty and was fortunate not to be punished with the disallowed goal.
RB: Emerson Royal - 6/10 - Conceded the first-half spot kick with a lazy and needless challenge on Vinicius but improved as the match wore on.
CB: Malick Thiaw - 8/10 - Powered home an excellent header to offer Milan the lead and was defiant when defending his own penalty area.
CB: Fikayo Tomori - 8/10 - Seldom put a foot wrong in the heart of defence and frustrated the likes of Mbappe and Vinicius throughout.
LB: Theo Hernandez - 8/10 - The former Madrid employee offered plenty of attacking thrust on the overlap and showed a calm head when defending his own box.
DM: Youssouf Fofana - 7/10 - Milan dominated the midfield battle and Fofana helped reclaim possession and keep things ticking.
DM: Yunus Musah - 8/10 - The 21-year-old impressed with his ball retention and confidence in possession, driving through Madrid's midfield to relieve pressure.
RW: Christian Pulisic - 8/10 - Produced some tantalising corner deliveries, one of which resulted in Milan's opener. The American's pace and willingness to run at Madrid's defence caused all manner of problems.
AM: Tijjani Reijnders - 9/10 - The Dutchman caught the eye with an all-action midfield display, putting in the hard yards defensively and scoring a well-taken goal to secure the victory for Milan. Made some powerful runs through an underwhelming Madrid midfield.
LW: Rafael Leao - 9/10 - After being dropped to the bench in recent games, Leao made an enormous impact here. Punished Vazquez repeatedly with his close control and speed, and was key in two Milan goals
ST: Alvaro Morata - 8/10 - Silenced the home crowd's jeers with his first-half strike and led the line wonderfully against his old side, even if he often resorted to employing the dark arts.
Substitutes
SUB: Tammy Abraham (70' for Morata) - 6/10
SUB: Ruben Loftus-Cheek (70' for Pulisic) - 7/10
SUB: Noah Okafor (78' for Leao) - 6/10
SUB: Davide Calabria (90+3' for Royal) - N/A
SUB: Strahinja Pavlovic (90+3' for Musah) - N/A
Subs not used: Lorenzo Torriani (GK), Marco Sportiello (GK), Filippo Terracciano, Francesco Camarda, Samuel Chukwueze.
Manager
Paulo Fonseca - 9/10 - An exceptional display from his side, who were superior across the pitch. Defended in a low block when required and used their pace and ingenuity to unlock Madrid's defence on the break.