It did not take the visitors long to break the deadlock, as Ikechukwu Uche was on hand to tap in from a quick move by Villarreal just three minutes into the tie.
A block from Angel Rangel prevented the Spanish side from doubling their lead just three minutes later, as the visitors continued to dominate the possession early on.
Rangel proved a threat at the start of the second half as he tried to drill the ball home from a Bony through ball, but the defender fired just wide.
The miss allowed Villarreal to double their lead just two minutes later as Bruno Soriano curled the ball in from a free kick.
Lukasz Fabianski continued to come under pressure in the Swansea goal, but the keeper made a string of fine saves to stop Cheryshev adding another in the final 10 minutes of the match.