Villarreal, currently third in the Spanish league, started the season well and posed a tough test for City. The team honored their former player, Rodri, before the kick-off, and City captain Bernardo Silva made his 66th Champions League start, taking him one clear of Kevin de Bruyne for the most UCL appearances of any outfield player for the club.
City started the match strongly, with three shots in the opening eight minutes and 67.4% of possession in the first 15 minutes. They created several scoring opportunities, with Haaland scoring emphatically in the 30th minute to give City a 1-0 lead.
The first half was a comfortable one for City, with Ruben Dias completing all 55 of his passes, more than three times any Villarreal player had managed to that point. City's second goal came in the 35th minute, with Silva scoring from Savinho's cross.
The second half began at a slower pace, with neither side creating many scoring opportunities. However, Villarreal rallied briefly with five unanswered shots in three minutes, but this was not enough to change the course of the match.
Villarreal's Santiago Mourino was the only player to offer any resistance to City, winning 10 one-on-one duels and six possession back. However, his teammates were unable to match his level of performance, and City emerged victorious.
The match ended with a 2-0 victory for Manchester City, extending Villarreal's run of six games without a Champions League win. This is a record that they will be hoping to break in their next game against Pafos.