Marcelino Garcia Toral's men comprehensively ended a five-match winless run at El Madrigal in the second of three matches between the two sides in the space of eight days.
Giovani dos Santos took his league goals haul for the season to eight with a first-half brace, but striker partner Ikechukwu Uche was not to be outdone and matched that feat with a double of his own, hot on the heels of his hat-trick in the 5-2 rout of Rayo Vallecano.
Moises Gomez added the fifth after half-time, with Imanol Agirretxe netting the consolation goal for the visitors.
The match, which signalled an end to Sociedad's five-game winning streak in La Liga, was in stark contrast to Thursday's goalless draw between the pair in the Copa del Rey.
Dos Santos set the tone with a composed finish after just 17 minutes, while Uche doubled the hosts' advantage 10 minutes later and in doing so became the first Nigerian to score 10 goals in a single La Liga season since Finidi George in the 1998-99 campaign.
Sociedad's hopes all but disappeared 12 minutes before the interval as Dos Santos bore down on goal and picked out the bottom corner to cap a dominant half for Villarreal.
There was little respite for the visitors after the break, with Uche finding the net from outside the area and Gomez firing home from close range in the space of three minutes.
Agirretxe nodded in a corner to reduce the deficit on the hour mark but that was as good as it got for Sociedad.
The two will meet again at the same venue in the second leg of their Copa del Rey tie on Thursday.
Get the best features, fun and footballing frolics straight to your inbox every week.
Thank you for signing up to Four Four Two. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.