El inicio del encuentro fue un aviso de lo que se venía. Apenas a los 15 segundos, Haaland presionó una salida del Villarreal y generó la primera ocasión para Savinho, que obligó a una gran intervención de Luiz Júnior. Esa acción marcó el tono de un primer tiempo en el que el cuadro local se mostró impreciso y nervioso ante la presión alta del City.
Con el dominio total del balón y la paciencia característica de su estilo, los ingleses encontraron el primer gol a través de un centro de Rico Lewis que Haaland transformó en el 0-1 anticipándose a los centrales. El tanto no cambió el guion del partido: el City siguió controlando el ritmo mientras el Villarreal apenas encontraba respiro en las subidas de Pedraza por la banda izquierda.
Cuando el equipo español intentaba reaccionar, Bernardo Silva apareció para ampliar la ventaja con un preciso cabezazo tras una jugada por la derecha. El 0-2 dejó al conjunto de Marcelino prácticamente sin respuestas antes del descanso.
En la segunda mitad, el Villarreal intentó adelantarse en el campo y presionar más arriba, pero el City continuó administrando el juego con solvencia. Haaland tuvo dos ocasiones más para sentenciar el duelo, ambas bien resueltas por Luiz Júnior, figura del cuadro local.
En los minutos finales, Partey estuvo cerca de descontar con un cabezazo que se estrelló en el poste, pero el marcador no se movió. La victoria permite al Manchester City mantenerse firme en su grupo, mientras el Villarreal sigue sin ganar en esta edición de la Champions League.