The referee had some technical difficulties that delayed kick-off nearly ten minutes. After the match began, Villarreal had two opportunities to take the lead within the first ten minutes. David De Gea saved a shot by Moi Gómez from the edge of the box, while Yeremi Pino hit the side netting with a shot. Despite the changes, Michael Carrick's side struggled to impose themselves in the first half as they managed just one shot on target.
In the second half, Manchester United attempted to build-up play, but initial attempts failed. Manu Trigueros struck a volley in the box to give Villarreal the lead in the 59th minute, but Dea Gea pulled off a stunning save to keep his side in the game.
In the 66th minute, Carrick introduced Marcus Rashford and Bruno Fernandes in an attempt to create more creativity. Moments later, Jadon Sancho had a fantastic chance thanks to a wonderful pass from Fernandes, but Gerónimo Rulli saved the England winger with a reflex save.
In the 78th minute, Cristiano Ronaldo scored his 140th Champions League goal by lobbing the ball over Rulli from the edge of the box after Fred had won it back. Following a counterattack, Jadon Sancho scored his first goal for the club in the 90th minute to seal the three points.
Manchester United qualified for the UCL knockout stages as a result of the outcome, resuming their season after a difficult few weeks.
After a promising performance, Villarreal's three-game unbeaten run at home in all competitions comes to an end, and they will now have to wait another match day to confirm their place in the next round.