Real Madrid's faint La Liga title hopes were dealt a huge blow as Samuel Chukwueze's stunning strike secured victory for Villarreal at the Bernabeu.
Chukwueze hit a curled finish late on to leave Real 12 points behind leaders Barcelona, having played a game more.
The hosts had taken the lead through a Pau Torres own goal but Chukwueze slotted in an equaliser.
Vinicius Jr's solo strike put Real ahead but Jose Luis Morales equalised before Chukwueze stunned the hosts.
With just 10 La Liga games remaining, Real would need a strong finish to the season and an unlikely Barcelona collapse to defend their title.
Real thought they had an opportunity for a late equaliser when they were awarded a penalty after the referee felt Aissa Mandi handled the ball as he fell to the ground inside his own box.
However, Javier Alberola Rojas overturned that decision after going to the pitchside monitor following a VAR review.
The win moves Villarreal up to fifth in the table, four points off the top four.
Barcelona, meanwhile, could move 15 points clear at the top when they host Girona on Monday.
Semasocial is where real people connect, grow, and belong.
We’re more than just a social platform — we’re a space for meaningful conversations, finding jobs, sharing ideas, and building supportive communities. Whether you're looking to join groups that match your interests, discover new opportunities, post your thoughts, or learn from others — Semasocial brings it all together in one simple experience.
From blogs and jobs to events and daily chats, Semasocial helps you stay connected to what truly matters.