Willy Boly and Raul Jimenez earned Wolves the win, after Gerard Moreno had put the visitors in front and Ruben Neves had wasted the chance to equalise from the penalty spot.
Instead, Boly powerfully headed home Helder Costa’s corner minutes after the restart and Diogo Jota set up Raul Jimenez for his first goal in Wolves colours.
The hosts were impressive after the break and Nuno will have taken encouragement ahead of the season opener against Everton next weekend.
The game provided the head coach with a final chance to see his side before next week’s Premier League opener and they started well in the Wolverhampton sun, with midfielders Neves and Joao Moutinho shooting wide from range.
Moutinho was taking responsibility for set pieces early on and his corner on 16 minutes was met by a firm Romain Saiss header which flew over the bar. However, the visitors should have led when Moreno nipped in ahead of Neves, ran through but shot wide under pressure from Rui Patricio.
Moreno wouldn’t be so wasteful minutes later however and, after racing clear, carefully clipped his effort over Patricio and into the net. Villarreal went on to enjoy a lengthy spell of dominance from then and Karl Toko Ekambi was only denied their second by a fine one-handed save by Patricio.
Wolves did threaten soon after, but Jimenez’s clever effort dropped the wrong side of Mariano Barbosa’s goal. Soon after Matt Doherty got in behind and squared for Jonny Castro Otto, but he couldn’t avoid a flurry of Villarreal defenders with his effort.
Soon after came the golden chance to equalise when Jota was fouled in the area and Lee Probert awarded the penalty. However, unlike against Ajax earlier in pre-season, Neves couldn’t convert the penalty and fired wide from 12 yards.
Jimenez had been given the nod up front ahead of Leo Bonatini and set up Jota to fire over before the two teams went in for half-time.
Half-time: Wolves 0 Villarreal 1
Nuno gave Ryan Bennett the second-half to stake a claim, with Saiss making way and quickly Wolves could have equalised had Doherty connected with Moutinho’s corner.
However, the hosts found their goal four minutes into the second-half as Boly powerfully headed home Helder Costa’s teasing corner in front of the South Bank.
Soon after the game was flipped on its head as Costa battled for possession and Jota took the initiative, making it to the by-line before firing across goal for Jimenez to knock home his first goal in Wolves colours.
The hosts were enjoying themselves after the break and Morgan Gibbs-White and Bonatini joined the action soon after in place of Moutinho and Jimenez. Ivan Cavaleiro was next on for Jota with 13 minutes remaining.
There’d be no further action however and Wolves would finish pre-season with a Molineux victory in front of 19,062 supporters.
Full-time: Wolves 2 Villarreal 1
Wolves: Patricio, Doherty, Neves, Jimenez (Bonatini 72), Costa, Boly, Coady, Jota (Cavaleiro 77), Otto, Saiss (Bennett 46), Moutinho (Gibbs-White 72).
Subs: Ruddy, Norris, Batth, Enobakhare, Vinagre, Hause.