Cristiano Ronaldo snatched a dramatic late victory for Manchester United, beating Villarreal 2-1 on his record-breaking 178th Champions League appearance.
There were plenty of eyes on United heading into the fixture, with Ole Gunnar Solskjaer's side losing three of their last four games, including the Group F opener against Young Boys two weeks ago. They also faced the side that beat them in the Europa League final four months ago.
Villarreal should have been out of sight in the first half, but came up against an inspired David de Gea and were also guilty of some poor finishing without their usual target-man in Gerard Moreno.
But the visitors soon found the breakthrough with the impressive Arnaut Danjuma setting up Paco Alcacer for a tap-in (53). The mood was starting to sag at Old Trafford, but Telles produced a moment of magic - firing home with a stunning first-touch volley - to make for an end-to-end finish.
- Ole Gunnar Solskjaer: CL nights at Old Trafford 'magic' - but we got lucky
- How the teams lined up | Match stats
- Champions League results | Group tables
Ronaldo made just 46 passes and did not have much to work with during the game, but on yet another milestone evening, he came up with the dramatic winning goal with the last kick, poking home from close range.
It gives United their first points of the Champions League campaign, sending them third behind Young Boys and early group F leaders, Atalanta. Villarreal remain bottom of the table with one point.
How Ronaldo made more Old Trafford memories
It was an end-to-end start at Old Trafford, with both sides having sights of goal. Bruno Fernandes lashed an effort over the crossbar, before Ronaldo also nodded over from the first corner. It was former Bournemouth forward Danjuma who caused the early issues for Villarreal, twice testing De Gea, but the goalkeeper strongly batted away both efforts.
De Gea was clearly looking to exorcise some demons after his penalty miss in the Europa League final four months ago, and denied Alcacer soon after. Danjuma once again beat Diogo Dalot too easily down the left flank, with his cross flicked goalwards by the Spain forward. But De Gea's reactive save saw him flick the effort over the crossbar for a corner.
Man Utd: De Gea (8), Dalot (5), Lindelof (6), Varane (7), Telles (7), McTominay (6), Pogba (7), Fernandes (7), Sancho (6), Greenwood (7), Ronaldo (7).
Subs used: Cavani (7), Matic (6), Fred (n/a), Lingard (n/a).
Villarreal: Rulli (6), Albiol (6), Torres (6), Parejo (6), Capoue (7), Foyth (6), Alcacer (7), Trigueros (7), Danjuma (7), A Moreno (7), Pino (7).
Subs used: Dia (6), Estupinan (5), Pena (5), Mandi (5), Gomez (6).
Man of the match: David de Gea.
Just after the half-hour, Villarreal should have taken the lead. Dalot's sloppy pass was easily collected by Etienne Capoue, who then pinged the ball forward for Alcacer. Raphael Varane looked to have it under control, but could not keep hold of the ball as Alcacer raced through on goal. However, despite only having De Gea to beat, the forward inexplicably lashed his effort wide of the target.
United had just two shots on target in the opening 45 minutes - the first coming from Paul Pogba in the 37th minute - but almost went ahead through an own goal just before the break. Former Liverpool left-back Alberto Moreno almost poked Pogba's chipped pass into his own net with some wild defending, but luckily for Villarreal, it went inches wide of the post.
- Unsurprisingly, three of United’s four changes came in defence. Harry Maguire and Luke Shaw missed out through injury, while Aaron Wan-Bissaka was suspended.
- Diogo Dalot and Victor Lindelof came in, as did Alex Telles, who made a rare Man Utd start. Elsewhere, Fred dropped to the bench and Jadon Sancho was named in the XI.
Eight minutes after the break, and Villarreal took the lead. Manu Trigueros slid in Danjuma down the right of the area, easily by-passing Dalot, who made a lazy attempt to try and stop the ball. Danjuma then slotted the ball through for Alcacer, who sent it through the legs of De Gea and into the back of the net.
But soon after, United fired themselves level with the most unlikely of scorers. Fernandes drifted a wonderful free-kick over to the far left, where Telles was waiting. He then sent a spectacular first-time volley goalwards, with the ball bouncing in a spot of space before fizzing past Geronimo Rulli.
The goal gave United the boost they needed as they hunted for a much-needed Champions League win. Edinson Cavani went close in the 79th minute, with Mason Greenwood sending in a wonderful ball from the right. It picked out the striker at the back post, but he just directed his header wide.
But in a frantic final few minutes, there was only one man who was going to pop up with the moment of the evening. It came 24 hours after Lionel Messi's stunning first goal for PSG against Manchester City on Tuesday evening as the pair continue to match each other.
Ronaldo initially nodded Fred's cross down for Lingard, and the latter did well to hold it up with two defenders on either shoulder. He managed to poke the ball back for Ronaldo, who then slotted home past Rulli at the near post, wheeling away in a rapturous shirt-off celebration.
Man of the match - David de Gea
Quite simply, without De Gea's first-half saves, United would not have had a sniff of winning this tie. He made four world-class saves to keep Villarreal at bay, and although he was unable to keep a clean sheet - not helped by some poor defending from his team-mates - he still deserves plaudits for helping United to victory.
Ole Gunnar Solskjaer said: "He had a difficult summer after the final. He went to the Euros, didn't play there, but he's really come back with a determination and a belief and a work rate that I've enjoyed.
"And today, he got a deserved outcome because he saved us tonight, we have to be realistic and say that. We've got two very good keepers in Dean [Henderson] and Tom [Heaton] too, but tonight, David deserves, from me, the man of the match."
Man Utd manager Ole Gunnar Solskjaer said: "Champions League Old Trafford is magic and sometimes history can help us. Tonight, Cristiano came up with a good goal and Alex scored a fantastic goal.
"They're a very hard team to beat. They've not lost a game since way before the final and they've played good teams before. It's a difficult one because we're at home and want to win, but they play so well, that if we don't go and press them, they'll be happy enough to sit off.
"To get the three points at home is important. We know we need to get to ten, maybe 12 points to go through. It's a massive result for the team and for the spirit of the team as well. it's a better way of winning a game than how we lost a few weeks ago. But that's football, it's just highs and lows and today we get a result that we're delighted about.
"He [Cristiano] has done that so many times. When you saw him against the Republic of Ireland a few weeks ago, he missed a penalty early, didn't touch the ball more or less and then scored two great headers in the last two minutes.
"That's just what he's done throughout his career. He's so strong mentally. He stays in the game, I've seen him all day today, the way he's built himself up for this game, how focused he's been and when he gets that one chance, it's a goal. But a true mark of a very good finisher that he keeps calm when the chance arrives.
"He's so good in front of goal and he has an impact on everyone - the crowd, the players, everyone."
- Villarreal suffered their first defeat in all European competition in 18 games, having won 12 and drawn five before tonight's loss.
- Cristiano Ronaldo (36y 236d) is the second oldest Man Utd player to score a goal in European competition at Old Trafford after Bryan Robson (36y 282d) vs Galatasaray in 1993.
- Paco Alcacer has scored three goals in the UEFA Champions League, with each strike coming for a different team - Barcelona, Borussia Dortmund and Villarreal.
Man Utd face Everton in the Premier League on Saturday; kick-off 12.30pm. Their next Champions League outing will be on Wednesday October 20 when they host Atalanta; kick-off 8pm. Villarreal welcome Real Betis in La Liga on Sunday, before travelling to Young Boys in three weeks' time.