Real Madrid took to the pitch on Saturday evening in the knowledge that they had defeated Barcelona comfortably in the Copa del Rey semi-final and could now put pressure on them in the LaLiga Santander title race.
Villarreal were the visitors to the Estadio Santiago Bernabeu, looking to propel themselves into contention for a late-run at Champions League qualification, and they caused quite the shock in the capital, taking all three points.
A defensive error allowed the hosts to take an early lead after 16 minutes, with Pau Torres scoring an own goal.
Real Madrid started the match probing, in search of an early goal and they almost had one after 14 minutes.
Vinicius Jr fired a shot from inside the penalty area, but it fizzed beyond the post.
Just minutes later, Pau Torres inadvertently turned the ball into his own net when attempting a clearance.
Karim Benzema and Rodrygo Goes then forced excellent saves out of Pepe Reina, who performed expertly.
Villarreal did have chances of their own though, with Samuel Chukwueze running at the heart of the Los Merengues’ defense before unleashing a powerful shot that just went wide of the goal.
This pressure culminated in the Nigerian finding an equalizer just before half-time.
He made yet another solo run into the penalty area, this time finding the back of the net with a snapshot beyond Thibaut Courtois.
Vinicius Jr was a constant threat
As has so often been the case with Real Madrid this season, Vinicius Jr was the pick of their players.
His direct style caused huge problems for Villarreal and within three minutes of the restart he had put the hosts back ahead.
In a solo run to rival that of Chukwueze, the former Flamengo prodigy cut inside the penalty area and fired a shot into the bottom corner of the net.
Aissa Mendi thought he had pegged Real Madrid back again on the hour, but his goal was disallowed for an offside in the build-up.
At this point Villarreal were growing in confidence, moving beyond their earlier mistakes, and the feeling of unease was growing around the Estadio Santiago Bernabeu.
Yeremy Pino’s curling effort skimmed the right post before Jose Luis Morales had another strike chalked off with 18 minutes left.
Initially it was judged to be offside, but VAR would confirm that the goal should stand after review.
Luka Modric was brought on to bring an air of calm and experience to a frantic Real Madrid midfield, but even he couldn’t prevent the collapse that followed.
Just minutes after making it 2-2, Villarreal were now in front, with Alex Baena cutting the ball back perfectly for Chukwueze to add his second goal of the game.
The madness didn’t end there. Aissa Mandi was once again in the crosshairs of the officials as mere seconds after the restart he had a penalty given away against him for handball.
The Algerian protested heavily and would be given a reprieve when VAR determined that no infringement had occurred.
Pepe Reina then made a reflex save from Rodrygo, stopping a certain goal as the visitors looked to regroup.
They did manage to hold on and took all three points in what was a chaotic second-half, meanwhile Barcelona now have a game in hand and a 12-point-lead.