Real Madrid’s hopes of securing a first La Liga title since 2012 suffered a setback as they were held 1-1 by Villarreal at the Bernabeu Stadium.
Carlo Ancelotti’s leaders looked to be heading four points clear at the top of the table after Cristiano Ronaldo’s ninth league penalty of the season.
It was awarded after Ronaldo was bundled over by Eric Bailly.
But Villarreal hit back through Gerard Moreno, the 22-year-old beating Iker Casillas with a low shot from 18-yards.
Real had started the game with a slender one-point lead at the summit after Barcelona’s workmanlike 3-1 win at Granada on Saturday.
Yet while they extended their lead to two points, Ancelotti will consider this a wasted opportunity to keep some distance from Barca, who they visit on 22 March.
Real had 25 shots yet were fortunate in the end not to have suffered a defeat.
Real Madrid hit 17 shots off target, more than any other team in a La Liga game this season
Villarreal’s leading scorer Luciano Vietto found himself clean through on goal in the 77th minute before losing his footing just as he prepared to shoot.
It is first time Real have dropped points at home in the league since they were beaten by neighbours and defending champions Atletico Madrid 2-1 on 13 September.
But Real have only themselves to blame after spurning a string of chances.
Ronaldo’s penalty took his tally to 30 goals in the league this season, yet the Portuguese should have been celebrating his fifth hat-trick of the term.
He was frustrated by Sergio Asenjo, the Villarreal keeper producing a string of fine saves including one flying stop to keep out Ronaldo’s 71st-minute header.
In a thrilling end to the game, Real substitute Jese wasted a great chance before Vietto was denied a dramatic Villarreal winner when Casillas kept out his glancing header.
The visitors survived strong claims for a late penalty following Bailly’s challenge on substitute Javier Hernandez.
But Villarreal, who move one point behind fifth-placed Sevilla, were full value for their point.
Cristiano Ronaldo has scored more penalty goals than any other La Liga player in the last 10 seasons
Cristiano Ronaldo scored for the third straight game
Villarreal picked up their first point at the Bernabeu Stadium since 2006
Gareth Bale has failed to score in his last seven Real Madrid appearances
This article has 0 comment, leave your comment.