Real Madrid made it three wins in a row in La Liga, thanks to first-half goals from Luka Modric and Cristiano Ronaldo, who has now scored nine goals in the last four games.
It was a thrilling game from the start, with the hosts constantly threatening Iker Casillas and Los Blancos counter-attacking.
Cristiano Ronaldo and Gareth Bale weren’t helping the defence, and Villarreal full-backs found space to constantly send crosses from the wings.
However, Raphael Varane and Sergio Ramos had a superb performance, clearing every ball and keeping their team alive.
Real also looked very dangerous when Marcelo and Daniel Carvajal joined the attacks, and it was an end-to-end contest.
Yet, Los Blancos inspiration proved the difference. In one of Real’s first shots on target, Luka Modric gave the visitors the lead at the half hour mark, firing a powerful shot from outside the box that caught Sergio Asenjo unawares.
With Villarreal looking to equalise, Los Merengues found more spaces to counter attack. Five minutes before half-time, James Rodriguez sent a long pass to Karim Benzema. The Frenchman fount Ronaldo, who slid his effort into the bottom corner.
Madrid improved defensively in the second half, keeping their lines tighly closed. Villarreal were in control of possession, but didn’t get clear chances to score.
As the hosts started to feel tired, it became easier for Los Blancos to hold firm.
The European champions finally managed to bring the three points home and put some presure on leaders Valencia, Barcelona and Sevilla,