Cristiano Ronaldo’s early second-half penalty looked to have Madrid on course for a fourth consecutive win, but Gerard Moreno’s thunderous equalizer 26 minutes from time earned the visitors a deserved point.
Champions Atletico Madrid failed to gain any ground on the leaders as they battled to a 0-0 draw at Sevilla.
Fourth-placed Valencia are now just a point adrift of Atletico after they were comfortable 2-0 winners over David Moyes’ Real Sociedad thanks to a double from Pablo Piatti.
Villarreal were without a host of first team regulars as coach Marcelino continues to prioritize progress in the Copa del Rey and Europa League.
However, the visitors started the brighter and should have been in front on 12 minutes when Iker Casillas made a fine save from Moreno and then Dani Carvajal headed Moi Gomez’s follow-up effort off the line.
The European champions began to bombard the Villarreal defence with crosses as the half developed and Gareth Bale came close to an opener when his header from Toni Kroos’s corner flashed wide.
From the German World Cup winner’s next set-piece delivery, Raphael Varane went even closer with a header that also just missed the target.
Ronaldo saw his first effort on target of the evening well saved by Sergio Asenjo three minutes into the second half.
But there was nothing the goalkeeper could do to prevent the World Player of the Year opening the scoring from the spot after he had been pulled down inside the area by Eric Bailly.
Ronaldo should have doubled his tally moments later when he latched onto a wonderful through ball by Bale, but Asenjo rushed from his goal-line to make a brave block.
The roles were reversed two minutes later as Ronaldo teed up Bale, but the Welshman’s off night in front of goal continued as he blasted well over.
That miss was to prove costly when Villarreal leveled thanks to a wonderful low finish by Moreno.
Ronaldo had the chance to restore Madrid’s lead four minutes later as he showed Bailly a clean pair of heels, but was once again denied by Asenjo.
And the former Atletico Madrid stopper made his best stop of the night seconds leader to turn Ronaldo’s powerful header over.
Asenjo nearly undid all of his good work when he flapped at Marcelo’s cross six minutes from the end, but was grateful to see Jese Rodriguez slot the rebound wide.
Casillas then had to make another great save of his own at the other end to prevent Luciano Viettoheading home a winner for Villarreal before Ronaldo nodded over one last chance in a frantic finale.
Earlier, Sevilla and Atletico seemed to suffer a hangover from their European encounters in midweek at the Sanchez Pizjuan in a tense game short on clear-cut chances.