The Red Devils suffered for most of the 77 minutes leading up to the opener as the LaLiga side had the best chances and forced David De Gea to make several fine saves.
In his first game as interim manager, Carrick threw Bruno Fernandes and Marcus Rashford off the bench after the hour mark. The game started to turn in favor of the visitors as Fernandes went on to play against Jadon Sancho, whose one-on-one effort was refused.
But it was Fred who created the goal, putting high pressure to retrieve the ball after a goal kick from Villarreal.
The tackle broke for Ronaldo, allowing him to turn around as the ball sat up and saw Geronimo Rulli rushing out of his line. The veteran forward knew exactly what to do and calmly threw the ball into the empty net.
It was almost 2-0 moments later as another Villarreal error inadvertently played Ronaldo, only for his tight-angled lob to drift towards goal and past the post.
Sancho wasn’t wrong in the dying moments, having been played by Rashford and Fernandes to hammer their first strike United at the near post.