On the night when Luis Suarez scored four to move to 30 league goals, Cristiano Ronaldo failed to find the net and is now only one goal in front of the Uruguayan in the battle to finish top scorer.
But both men will know only the end of season points tally counts and with the other two teams not slipping up, Real did their part by winning comfortably.
They didn’t even miss the injured Gareth Bale, whose replacement Lucas Vazquez scored the second after Karim Benzema’s opener and a Luka Modric strike.
Ronaldo limped off just before full-time leaving Madrid – who had already made their three changes – down to ten men. But the self-enforced change is understood to have been precautionary.
Ronaldo will have tests on a hamstring niggle that saw him walk off the pitch just before the final whistle but Zinedine Zidane said he was confident it would be nothing serious and certainly nothing that would keep him out of next week’s semi-final in Manchester.
Zidane said: ‘We don’t think it is anything serious. I was a bit concerned when I saw him walking off the pitch but I am more relaxed now.”
After Suarez’s haul earlier, the Portuguese was keen to extend his lead and he had the first chance which Sergio Asenjo go down to well. He then fired a free-kick straight into the Villarreal wall as Real applied most of the early pressure.
Toni Kroos went on a driving run into the Villarreal area lifting a flat Bernabeu still recovering from that Barcelona scoreline. Benzema was the next to go close for the home side but Asenjo was again there to block and Villarreal had made it to the half-hour mark without conceding.
Ronaldo then beat two Villarreal players down the left only to cross into a crowd of yellow shirts in the area.
He was getting more and more anxious as the half went on and with six minutes left before the break he fired high over the bar from the edge of the area. But from the frustration came the breakthough goal. Another cross from him down the left was palmed out by Asenjo and Benzema headed it into an empty net.
The goal left Villarreal with no option but to step out and attack and Keylor Navas had to save well from Denis Suarez.
The former Barcelona midfielder could have done the team he may well rejoin this summer a favour but the Costa Rican keeper got down well to push his effort out for a corner. Had Suarez squared it Cedric Bakambu was in space to finish – now the anxiety was with the visitiors.
Real Madrid had the first chance of the second half with a rasping Luka Modric shot going just past Asenjo’s left-hand post. Madrid were playing with more freedom since breaking the deadlock and soon Vazquez was on the scoresheet with a well struck shot from distance.
The 24-year-old winger brought back in the summer after a loan spell at Espanyol he has been one of the most consistent performers this season. Rafa Benitez wanted him in the team despite pressure being put on him to play James Rodriguez and Isco – long since also relegated to the bench by Zinedine Zidane.
Former Tottenham midfielder Modric finally got on the scoresheet after converting Benzema’s cross from the right after Danilo’s long ball forward to make it three.
The only thing unsatisfactory about the night for Real Madrid was the results from elsewhere with both their rivals winning.