The Yellow Submarine cruised past Osasuna, winning 3-0 at El Sadar.
Villarreal made them pay shortly afterwards, taking the lead through Jeremy Perbet. The French midfielder was allowed too much space and finished well after collecting a low cross.
The visitors doubled their lead on 30 minutes when Javier Aquino turned his marker inside the box and placed a delicate chip into the back of the net.
Despite the best efforts of Cani, Villarreal were unable to add to their tally before the break.
In the second half the away side continued to pour forward at every opportunity, but it took them until 15 minutes from time to score again.
Osasuna finally found a few attacks of their own in the final stages, but it was a case of too little too late as Villarreal recorded a comfortable victory.