Real have 86 points after 37 games, seven more than deposed champions Barcelona who were beaten 2-1 at home to Osasuna.
Benzema fired through the legs of keeper Sergio Asenjo to put Madrid ahead after 29 minutes and converted a penalty in the 77th to help Real on their way to a remarkable 10th consecutive league win since the season resumed after the Covid-19 stoppage.
Benzema had put the ball in the net moments earlier after an audacious pass from the spot kick by original penalty taker Sergio Ramos but it had to be re-taken due to encroachment.
The French forward then stepped up to take the penalty himself and slammed it into the bottom corner to score his 21st league goal of the campaign.
Villarreal pulled a late goal back through Vicente Iborra and should have snatched an equaliser in added time, while Real’s Marco Asensio thought he had added a third goal later on but it was ruled out by VAR for offside.