Porto 0–2 Manchester City
- Haaland 47'
- Haaland 90+1'
8 September 2026
The match in data
A 2–0 win for Manchester City against Porto on 8 September 2026, in the 2026-27 Champions League (League Stage 1).
Player of the match: Erling Haaland (Manchester City), rated 67, thanks above all to 1.06 xG and 2 goals. Haaland produced 1.8 times as much as a forward typically does, at 0.8 times the cost.
For Porto, the highest-rated player was Borja Sainz, with 70.
Erling Haaland scored twice.
Erling Haaland
Manchester City · 90'
Produced 1.80× and cost 0.79× their position's average
- 1.06 xG 3.4×
- 2 goals 4.0×
- 4 shots on target 3.9×
- 2 shots off target 1.4×
- 1 failed dribble 0.7×
Match ratings
Everyone who played, sorted by rating. No rating: goalkeepers and anyone who played under 20 minutes.
| Player | Position | Min | Rating |
|---|---|---|---|
| Borja Sainz | Forward | 22 | 70 |
| Jakub Kiwior | Defender | 90 | 64 |
| Alan Varela | Midfielder | 68 | 60 |
| André Silva | Forward | 73 | 54 |
| Nehuén Pérez | Defender | 90 | 51 |
| Martim Fernandes | Defender | 73 | 48 |
| Alberto Costa | Defender | 90 | 43 |
| Pablo Rosario | Midfielder | 90 | 43 |
| Pepê | Forward | 90 | 37 |
| Gabri Veiga | Midfielder | 83 | 37 |
| William Gomes | Forward | 68 | 25 |
| In-beom Hwang | Midfielder | 22 | 18 |
| Diogo Costa | Goalkeeper | 90 | no rating |
| Francisco Moura | Defender | 17 | no rating |
| Santiago Gimenez | Forward | 17 | no rating |
| Seko Fofana | Midfielder | 7 | no rating |
| Player | Position | Min | Rating |
|---|---|---|---|
| Elliot Anderson | Midfielder | 28 | 82 |
| Erling Haaland ★ | Forward | 90 | 67 |
| Abdukodir Khusanov | Defender | 42 | 67 |
| Enzo Fernández | Midfielder | 90 | 64 |
| Marc Guéhi | Defender | 90 | 56 |
| Antoine Semenyo | Forward | 62 | 52 |
| Iliman Ndiaye | Forward | 28 | 50 |
| Phil Foden | Midfielder | 75 | 48 |
| Josko Gvardiol | Defender | 48 | 44 |
| Rúben Dias | Defender | 90 | 43 |
| Ayyoub Bouaddi | Midfielder | 75 | 39 |
| Rayan Cherki | Midfielder | 62 | 39 |
| Matheus Nunes | Defender | 90 | 38 |
| Gianluigi Donnarumma | Goalkeeper | 90 | no rating |
| Mateo Kovacic | Midfielder | 15 | no rating |
| Rayan Aït-Nouri | Defender | 15 | 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.