Center Back · Manchester City · season-by-season, by competition, and every match.
Below his 2020/21 peak but holding a solid level — the platform for a return is there.
The record covers 6 seasons (2020/21–2025/26) across 1 club — 116 appearances with 12 goal contributions from defence.
His best campaign on record is 2020/21 at Manchester City — Season rating 47, 4 goals and 0 assists in 22 games. Output has held steady across his last 3 full seasons (15 → 8). The gap to his peak is 40 Season points.
2025/26 was disrupted — 10 fixtures missed through injury or absence.
| Season | Club | Apps | G | A | Rating | Season |
|---|---|---|---|---|---|---|
| 2025/26 | Manchester City | 9 | 0 | 0 | 26 | 8 |
| 2024/25 | Manchester City | 15 | 2 | 0 | 39 | 8 |
| 2023/24 | Manchester City | 27 | 1 | 0 | 48 | 15 |
| 2022/23 | Manchester City | 29 | 2 | 2 | 61 | 27 |
| 2021/22 | Manchester City | 14 | 1 | 0 | 63 | 28 |
| 2020/21 | Manchester City | 22 | 4 | 0 | 79 | 47 |
| Competition | Apps | Min | G | A | Rating |
|---|---|---|---|---|---|
| Premier League | 9 | 449 | 0 | 0 | 6.5 |
| UEFA Champions League | 4 | 343 | 0 | 0 | 7.0 |
| FA Cup | 3 | 245 | 0 | 0 | 7.4 |
| League Cup | 2 | 117 | 0 | 0 | 7.6 |
| Friendlies | 1 | 80 | 0 | 0 | 7.3 |
| FIFA Club World Cup | 3 | 0 | 0 | 0 | — |
| Friendlies Clubs | 3 | 0 | 0 | 0 | — |
| Date | Competition | Opponent | Res | Status | Min | G | A | Rating |
|---|---|---|---|---|---|---|---|---|
| Jun 18 | FIFA Club World Cup | H Wydad AC | 2-0 | Unused sub | 0 | — | ||
| Jun 23 | FIFA Club World Cup | H Al Ain | 6-0 | Unused sub | 0 | — | ||
| Jun 26 | FIFA Club World Cup | A Juventus | 5-2 | Unused sub | 0 | — | ||
| Jul 1 | FIFA Club World Cup | H Al-Hilal Saudi FC | 3-4 | Unused sub | 0 | — | ||
| Aug 9 | Friendlies Clubs | A Palermo | 3-0 | Not in squad | — | |||
| Aug 16 | Premier League | A Wolves | 4-0 | Played | 82 | 7.3 | ||
| Aug 23 | Premier League | H Tottenham | 0-2 | Played | 90 | 6.5 | ||
| Aug 31 | Premier League | A Brighton | 1-2 | Played | 90 | 6.3 | ||
| Sep 14 | Premier League | H Manchester United | 3-0 | Muscle bruise | — | |||
| Sep 18 | UEFA Champions League | H Napoli | 2-0 | Not in squad | — | |||
| Sep 21 | Premier League | A Arsenal | 1-1 | Played | 13 | 6.3 | ||
| Sep 24 | League Cup | A Huddersfield | 2-0 | Played | 90 | 8.0 | ||
| Sep 27 | Premier League | H Burnley | 5-1 | Unused sub | 0 | — | ||
| Oct 1 | UEFA Champions League | A Monaco | 2-2 | Played | 73 | 6.2 | ||
| Oct 5 | Premier League | A Brentford | 1-0 | Unused sub | 0 | — | ||
| Oct 18 | Premier League | H Everton | 2-0 | Unused sub | 0 | — | ||
| Oct 21 | UEFA Champions League | A Villarreal | 2-0 | Played | 90 | 7.6 | ||
| Oct 26 | Premier League | A Aston Villa | 0-1 | Played | 61 | 6.3 | ||
| Oct 29 | League Cup | A Swansea | 3-1 | Played | 27 | 7.2 | ||
| Nov 2 | Premier League | H Bournemouth | 3-1 | Unused sub | 0 | — | ||
| Nov 5 | UEFA Champions League | H Borussia Dortmund | 4-1 | Played | 90 | 6.9 | ||
| Nov 9 | Premier League | H Liverpool | 3-0 | Unused sub | 0 | — | ||
| Nov 22 | Premier League | A Newcastle | 1-2 | Unused sub | 0 | — | ||
| Nov 25 | UEFA Champions League | H Bayer Leverkusen | 0-2 | Played | 90 | 7.2 | ||
| Nov 29 | Premier League | H Leeds | 3-2 | Played | 1 | — | ||
| Dec 2 | Premier League | A Fulham | 5-4 | Played | 26 | 6.2 | ||
| Dec 6 | Premier League | H Sunderland | 3-0 | Not in squad | — | |||
| Dec 10 | UEFA Champions League | A Real Madrid | 2-1 | Not in squad | — | |||
| Dec 14 | Premier League | A Crystal Palace | 3-0 | Injury | — | |||
| Dec 17 | League Cup | H Brentford | 2-0 | Not in squad | — | |||
| Dec 20 | Premier League | H West Ham | 3-0 | Not in squad | — | |||
| Dec 27 | Premier League | A Nottingham Forest | 2-1 | Thigh Injury | — | |||
| Jan 1 | Premier League | A Sunderland | 0-0 | Thigh Injury | — | |||
| Jan 4 | Premier League | H Chelsea | 1-1 | Thigh Injury | — | |||
| Jan 7 | Premier League | H Brighton | 1-1 | Not in squad | — | |||
| Jan 10 | FA Cup | H Exeter City | 10-1 | Not in squad | — | |||
| Jan 13 | League Cup | A Newcastle | 2-0 | Not in squad | — | |||
| Jan 17 | Premier League | A Manchester United | 0-2 | Thigh Injury | — | |||
| Jan 20 | UEFA Champions League | A Bodo/Glimt | 1-3 | Not in squad | — | |||
| Jan 24 | Premier League | H Wolves | 2-0 | Thigh Injury | — | |||
| Jan 28 | UEFA Champions League | H Galatasaray | 2-0 | Not in squad | — | |||
| Feb 1 | Premier League | A Tottenham | 2-2 | Thigh Injury | — | |||
| Feb 4 | League Cup | H Newcastle | 3-1 | Not in squad | — | |||
| Feb 8 | Premier League | A Liverpool | 2-1 | Thigh Injury | — | |||
| Feb 11 | Premier League | H Fulham | 3-0 | Unused sub | 0 | — | ||
| Feb 14 | FA Cup | H Salford City | 2-0 | Played | 65 | 7.7 | ||
| Feb 21 | Premier League | H Newcastle | 2-1 | Unused sub | 0 | — | ||
| Feb 28 | Premier League | A Leeds | 1-0 | Unused sub | 0 | — | ||
| Mar 4 | Premier League | H Nottingham Forest | 2-2 | Unused sub | 0 | — | ||
| Mar 7 | FA Cup | A Newcastle | 3-1 | Played | 90 | 7.2 | ||
| Mar 11 | UEFA Champions League | A Real Madrid | 0-3 | Unused sub | 0 | — | ||
| Mar 14 | Premier League | A West Ham | 1-1 | Not in squad | — | |||
| Mar 17 | UEFA Champions League | H Real Madrid | 1-2 | Unused sub | 0 | — | ||
| Mar 22 | League Cup | A Arsenal | 2-0 | Unused sub | 0 | — | ||
| Apr 4 | FA Cup | H Liverpool | 4-0 | Not in squad | — | |||
| Apr 12 | Premier League | A Chelsea | 3-0 | Calf Injury | — | |||
| Apr 19 | Premier League | H Arsenal | 2-1 | Unused sub | 0 | — | ||
| Apr 22 | Premier League | A Burnley | 1-0 | Unused sub | 0 | — | ||
| Apr 25 | FA Cup | H Southampton | 2-1 | Played | 90 | 7.2 | ||
| May 4 | Premier League | A Everton | 3-3 | Unused sub | 0 | — | ||
| May 9 | Premier League | H Brentford | 3-0 | Unused sub | 0 | — | ||
| May 13 | Premier League | H Crystal Palace | 3-0 | Played | 8 | 6.9 | ||
| May 16 | FA Cup | A Chelsea | 1-0 | Unused sub | 0 | — | ||
| May 19 | Premier League | A Bournemouth | 1-1 | Unused sub | 0 | — | ||
| May 24 | Premier League | H Aston Villa | 1-2 | Played | 78 | 6.5 |