Real Madrid suffered just their second La Liga loss of the season as they missed a chance to return to the top of the table with a loss to Villarreal.
Yeremy Pino gave the hosts the lead, but a questionable handball against Juan Foyth allowed Karim Benzema to equalise.
Foyth then scored his own penalty at the other end as David Alaba coped and Gerard Moreno scored the winner.
Real remain second, tied on points with leaders Barcelona, who visit Atletico Madrid on Sunday.
Villarreal climbed to fifth place after a well-deserved third win in a row, creating better chances in an entertaining encounter at the Estadio de la Ceramica.
Alex Baena came close several times in the first half for the hosts while Francis Coquelin hit the post with an audacious heel kick from Moreno’s cross.
Benzema produced Real’s best first-half opening with a cushioned volley pass for Vinicius Jr., but the Brazil striker was turned down by veteran goalkeeper Pepe Reina.
A mis-pass by Ferland Mendy led to Pino firing Villarreal into the lead early in the second half, but after the ball over the top edge grazed Foyth’s hand, the referee awarded a penalty kick while looking at the pitch monitor.
Benzema converted his 227th La Liga goal to move up to sixth on the all-time top scorers list, alongside Real legend Alfredo di Stefano.
Any injustice felt by the hosts, however, was quickly dissipated as Alaba slipped and handled Foyth’s low pass as he placed his hand on the ground to calm himself and Moreno coldly sent Thibaut Courtois the wrong way after Real’s screaming appeals they finally died down.
- 1Reina PaezBooked for 90 minutes
- 3AlbiolBooked for 75 minutes
- 4Torres PBooked for 16 minutes
- 18MorenoReplaced byPedrazain 72′minutes
- 19CoquelineReplaced byTrigueros Munozin 89′minutes
- 16Baena RodriguezBooked for 90 minutes
- 7MorenoReplaced byDanjumain 88′minutes
- 21pinoReplaced bymoralein 81′minutes
- 14Trigueros Munoz
- 20Morlanes Arino
- 23MendyReplaced byRodrygoin 64′minutes
- 18TchouameniReplaced byVazquezin 64′minutes
- 10ModricReplaced byCamavingin 70′minutesBooked for 90 minutes
- 15ValverdeReplaced byAsensioin 82′minutes
- 20Vinicius Jr
- 7Threat E
- 26Lopez Andugar
- César Soto Grado
End of the match, Villarreal 2, Real Madrid 1.
End of second half, Villarreal 2, Real Madrid 1.
The attempt failed. Arnaut Danjuma (Villarreal) shoots with the right foot from over 35 yards, comes close but misses from the left. Assist by Samuel Chukwueze after a quick break.
Rog, Real Madrid. Conceded by Raul Albiol.
Eduardo Camavinga (Real Madrid) is shown the yellow card for a foul.
Foul by Eduardo Camavinga (Real Madrid).
Álex Baena (Villarreal) wins a free-kick from the left.
Sample saved. Arnaut Danjuma (Villarreal) right-footed shot from the left side of the box is saved in the middle of the goal. Assisted by Alfonso Pedraza.
Pepe Reina (Villarreal) is shown the yellow card.
The attempt failed. Karim Benzema (Real Madrid) right-footed shot from the right side of the box misses to the right. Assisted by Lucas Vazquez.
Álex Baena (Villarreal) is shown a yellow card for a foul.
Eduardo Camavinga (Real Madrid) wins a free-kick in the defending half.
Álex Baena (Villarreal) foul.
Sample saved. Antonio Rüdiger (Real Madrid) header from inside the penalty area, saved in the middle of the goal. He was assisted by Toni Kroos with a cross.
The attempt failed. Arnaut Danjuma (Villarreal) kicks in with his right foot from the center of the box but misses the right from the corner.
Attempt blocked. Pau Torres’ (Villarreal) header from inside the penalty area is blocked. Assisted by Daniel Parejo with a cross.
Horn, Villarreal. Thibaut Courtois scored.
Sample saved. Samuel Chukwueze (Villarreal) left-footed shot from the right side of the box is saved in the bottom right corner. Assist by Arnaut Danjuma.
Attempt blocked. Arnaut Danjuma (Villarreal) A left-footed shot from the center of the box is blocked. Assisted by Jose Morales.
Change, Villarreal. Manu Trigueros replaces Francis Coquelin.