On a night when the ghost of Roy Keane stalked Old Trafford, Manchester United failed yet again to stamp their authority on a European Champions League game.
Villarreal's game-plan was to stop United scoring with a defensive blanket which smothered the Red Devils' less than impressive firepower.
If their former captain had been watching, he would surely have been shaking his head at their lack of flair.
Wayne Rooney apart, United lacked the imagination to break down the Spaniards.
With Lille and Benfica also drawing in France it leaves any one of the four clubs left in Group D capable of qualifying for the knockout stages.
United's last game is against Benfica in Lisbon, while Villarreal are at home to Lille.
It was indicative of United's performance that their best chance of the game came after just two minutes, made and executed by Rooney.
The England man superbly took down a Cristiano Ronaldo cross from the left before dragging the ball beyond two Villarreal defenders and firing in a shot which was well saved by goalkeeper Mariano Barbosa at point-blank range.
United's only other shot on target in the game came on the hour when Ronaldo planted a straightforward 20-yard drive at Barbosa.
While Rooney continued to cause the Spaniards problems whenever he got the ball, but too many of his team-mates failed to rise to the occasion.
There was a brief flurry when Ji-Sung Park replaced Darren Fletcher after 53 minutes.
Seconds after coming on, Park combined well with Rooney and his shot from eight yards was blocked by a posse Villarreal defenders.
Park and Rooney produced an excellent one-two five minutes later, but the South Korean's shot from ten yards was brilliantly blocked by the outstanding Javier Rodriguez.
United goalkeeper Edwin Van der Sar's only action of the night was to field a 25-yard free-kick from Marcos Antonio Senna 11 minutes from time.