The Yellow Submarine had the better of the first period, but had to wait until the early stages of the second to take the lead through Jeremy Perbet.
It was 2-0 less than 10 minutes later when Manu Trigueros found the bottom corner, before Perbet made it 3-0 late on.
Oriol Riera netted a late consolation for the away side, but it was too little too late.
Read how it all unfolded in Sports Mole's minute-by-minute live commentary of the action below.
VILLARREAL: Asenjo; Mario, Gabriel, Dorado, Costa; Pina, Trigueros; Aquino, Gomez, Giovani; Uche
OSASUNA: Fernandez; Damia, Flano, Loties, Bertran; Lobato, Punal, Loe, De las Cuevas; Armenteros; Acuna