Villarreal 0–2 Manchester City
- Haaland 17'
- Silva 40'
21 October 2025
The match in data
Manchester City beat Villarreal 2–0 on 21 October 2025, in the 2025-26 Champions League (League Stage 3).
Player of the match: Erling Haaland (Manchester City), rated 77, thanks above all to 1 goal and 0.73 xG. Haaland produced 1.4 times as much as a forward typically does, at 0.2 times the cost.
For Villarreal, the highest-rated player was Thomas Partey, with 76.
Erling Haaland
Manchester City · 86'
Produced 1.45× and cost 0.21× their position's average
- 1 goal 4.0×
- 0.73 xG 2.8×
- 3 shots on target 3.7×
- 1 shot off target 0.7×
- 2 duels lost 0.3×
Match ratings
Everyone who played, sorted by rating. No rating: goalkeepers and anyone who played under 20 minutes.
| Player | Position | Min | Rating |
|---|---|---|---|
| Thomas Partey | Midfielder | 90 | 76 |
| Juan Foyth | Defender | 90 | 70 |
| Sergi Cardona | Defender | 44 | 53 |
| Nicolas Pépé | Forward | 90 | 50 |
| Georges Mikautadze | Forward | 66 | 48 |
| Pape Gueye | Midfielder | 81 | 41 |
| Tani Oluwaseyi | Forward | 24 | 35 |
| Renato Veiga | Defender | 90 | 34 |
| Tajon Buchanan | Forward | 66 | 33 |
| Santiago Mouriño | Defender | 90 | 32 |
| Santi Comesaña | Midfielder | 72 | 30 |
| Alfonso Pedraza | Defender | 46 | 29 |
| Alberto Moleiro | Forward | 24 | 22 |
| Luiz Júnior | Goalkeeper | 90 | no rating |
| Ayoze Pérez | Forward | 18 | no rating |
| Dani Parejo | Midfielder | 9 | no rating |
| Player | Position | Min | Rating |
|---|---|---|---|
| Matheus Nunes | Defender | 90 | 77 |
| Erling Haaland ★ | Forward | 86 | 77 |
| Rúben Dias | Defender | 90 | 70 |
| Bernardo Silva | Midfielder | 90 | 69 |
| Savinho | Forward | 86 | 65 |
| Mateo Kovacic | Midfielder | 33 | 61 |
| Josko Gvardiol | Defender | 90 | 60 |
| John Stones | Defender | 90 | 53 |
| Rico Lewis | Defender | 73 | 47 |
| Jérémy Doku | Forward | 72 | 43 |
| Nico González | Midfielder | 57 | 38 |
| Gianluigi Donnarumma | Goalkeeper | 90 | no rating |
| Oscar Bobb | Forward | 18 | no rating |
| Tijjani Reijnders | Midfielder | 17 | no rating |
| Omar Marmoush | Forward | 4 | no rating |
| Rayan Cherki | Midfielder | 4 | no rating |
How is the rating calculated?
The rating measures a single match: what the player produced against what they cost, compared with the average for their position in that league and season, and adjusted by position (a 70 for a forward is as hard to get as a 70 for a defender). A normal match is around 50, 70 is already very good and only one in a hundred goes above 80. It is not the NVP, which ranks the whole season.