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.
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.
"To return after spending three months locked in our homes and to win 10 matches in a row is incredible, but I always believed in my team and knew we could win it," said Real goalkeeper Thibaut Courtois.