The Spanish team started off brighter, creating a plethora of chances, but found David de Gea in United’s goal in inspired form.
Spain striker Paco Alcácer finally opened the scoring for the visitors, hitting point blank just after half-time.
A superb volley equalizer from Brazilian left-back Alex Telles evened the scores, before – as he has done countless times before – Ronaldo searched the house from inside the box to save Manchester United at Old Trafford.
After losing their opener of this season’s competition to Young Boys in Switzerland, it was an even bigger victory for the three-time Champions League winners.
“We struggled a bit because we knew before the game that we had to win the game,” the 36-year-old told media. “It was tough, the team was a little nervous, mostly, well, in the first and second half to be honest.
“But we also had a bit of luck, which we didn’t have in the last game. It was good. It was good. A good attitude from our players, the fans pushed us a lot. After the goal of Such, we believed, we believed. Because here, in this stadium, the history that this club has, it is possible to do it. We believed. I told the players in the tunnel before the second half to believe it. “
On a record-breaking night for Ronaldo, it seemed entirely appropriate that he scored in a dramatic way to steal the headlines.
The Portugal international was playing his 178th Champions League game, becoming the best player of all time after overtaking former Real Madrid teammate Iker Casillas.
Ronaldo is already the Champions League top scorer, his goal on Wednesday bringing his tally to 136, Lionel Messi second with 121 goals.
However, it didn’t start well for the English giants against Villarreal, as Unai Emery’s side started well.
Thanks to Alcácer and Arnaut Danjuma’s smooth pace and passes, Villarreal caused United countless problems and left them puzzled that he hadn’t scored in the first half.
But the breakthrough came just eight minutes after the half-time break, with Alcácer fending off a low cross from Danjuma.
The goal seemed to put the home side into action, requiring a soft volley from Telles to even the score on the hour mark.
And with the game appearing to end in a disappointing draw for Manchester United – after Edinson Cavani wasted a glorious chance to win the game – appeared Ronaldo.
Visit CNN.com/sport for more news, features and videos
A deft touch from Jesse Lingard handed the ball over to Ronaldo and, from a sharp angle and with Villarreal keeper Gerónimo Rulli out of his line, the veteran striker returned the ball home to save three points.
“This is what is happening at Old Trafford,” manager Ole Gunnar Solskjaer told BT Sport. “It’s happened so many times before. We had to be careful and we were lucky in the end.
“Sometimes it’s not about ‘going there, going there’, it’s the crowd – and they’ve already sucked it in – and when you have Cristiano on the pitch you always have a chance. He’s so good in front of goal and he impacts everyone. “