Center Back · Toronto FC · season-by-season, by competition, and every match.
Below his 2022/23 peak but holding a solid level — the platform for a return is there.
The record covers 6 seasons (2020/21–2025/26) across 3 clubs, including a move abroad — 98 appearances with 1 goal contributions from defence.
His best campaign on record is 2022/23 at Birmingham — Season rating 31, 1 goal and 0 assists in 17 games. 2022/23 was the leap — Season rating up 21 points at Birmingham. Output has held steady across his last 3 full seasons (13 → 17). The gap to his peak is 14 Season points.
2025/26 was disrupted — 6 fixtures missed through injury or absence. Made the jump to a higher division in 2024/25 (Major League Soccer) and kept playing — 26 games that season.
| Season | Club | Apps | G | A | Rating | Season |
|---|---|---|---|---|---|---|
| 2025/26 | Toronto FC | 24 | 0 | 0 | 13 | 17 |
| 2024/25 | Toronto FC | 26 | 0 | 0 | 16 | 23 |
| 2023/24 | Birmingham | 17 | 0 | 0 | 23 | 13 |
| 2022/23 | Birmingham | 17 | 1 | 0 | 27 | 31 |
| 2021/22 | Burnley | 6 | 0 | 0 | 33 | 3 |
| 2020/21 | Burnley | 8 | 0 | 0 | 41 | 10 |
| Competition | Apps | Min | G | A | Rating |
|---|---|---|---|---|---|
| Major League Soccer | 24 | 1905 | 0 | 0 | 6.9 |
| Canadian Championship | 1 | 90 | 0 | 0 | — |
| Date | Competition | Opponent | Res | Status | Min | G | A | Rating |
|---|---|---|---|---|---|---|---|---|
| Jan 30 | Friendlies Clubs | A Fredrikstad | 1-1 | Not in squad | — | |||
| Feb 11 | Friendlies Clubs | A Colorado Rapids | 0-1 | Not in squad | — | |||
| Feb 23 | Major League Soccer | A DC United | 2-2 | Played | 90 | 6.9 | ||
| Mar 2 | Major League Soccer | A Orlando City SC | 2-4 | Played | 90 | 6.2 | ||
| Mar 9 | Major League Soccer | A FC Cincinnati | 0-2 | Played | 90 | 6.6 | ||
| Mar 15 | Major League Soccer | H Chicago Fire | 1-2 | Played | 45 | 6.5 | ||
| Mar 22 | Major League Soccer | A New York Red Bulls | 1-2 | Played | 90 | 7.3 | ||
| Mar 29 | Major League Soccer | H Vancouver Whitecaps | 0-0 | Lower-Body Injury | — | |||
| Apr 6 | Major League Soccer | A Inter Miami | 1-1 | Unused sub | 0 | — | ||
| Apr 12 | Major League Soccer | H Minnesota United FC | 0-0 | Played | 90 | 7.7 | ||
| Apr 20 | Major League Soccer | A Real Salt Lake | 1-0 | Played | 90 | 7.0 | ||
| Apr 26 | Major League Soccer | H New York City FC | 0-1 | Played | 90 | 6.9 | ||
| Apr 30 | Canadian Championship | H CF Montreal | 2-2 | Not in squad | — | |||
| May 3 | Major League Soccer | H New England Revolution | 0-2 | Unused sub | 0 | — | ||
| May 10 | Major League Soccer | H DC United | 2-0 | Played | 90 | 7.3 | ||
| May 14 | Major League Soccer | H FC Cincinnati | 0-1 | Played | 90 | 6.6 | ||
| May 17 | Major League Soccer | A CF Montreal | 6-1 | Played | 45 | 6.9 | ||
| May 24 | Major League Soccer | H Nashville SC | 1-2 | Played | 90 | 7.0 | ||
| May 28 | Major League Soccer | H Philadelphia Union | 1-2 | Played | 12 | 6.3 | ||
| May 31 | Major League Soccer | H Charlotte | 0-2 | Unused sub | 0 | — | ||
| Jun 25 | Major League Soccer | H New York Red Bulls | 1-1 | Played | 98 | 7.2 | ||
| Jun 28 | Major League Soccer | H Portland Timbers | 3-0 | Played | 90 | 6.9 | ||
| Jul 3 | Major League Soccer | A New York City FC | 1-3 | Played | 90 | 6.3 | ||
| Jul 12 | Major League Soccer | H Atlanta United FC | 1-1 | Not in squad | — | |||
| Jul 17 | Major League Soccer | A San Diego | 1-0 | Played | 90 | 6.9 | ||
| Jul 20 | Major League Soccer | A Nashville SC | 0-1 | Played | 90 | 7.0 | ||
| Jul 26 | Major League Soccer | A Charlotte | 0-2 | Played | 88 | 6.2 | ||
| Aug 9 | Major League Soccer | A Philadelphia Union | 1-1 | Played | 90 | 6.9 | ||
| Aug 16 | Major League Soccer | H Columbus Crew | 1-1 | Played | 90 | 6.7 | ||
| Aug 24 | Major League Soccer | A Atlanta United FC | 0-0 | Played | 64 | 7.6 | ||
| Aug 30 | Major League Soccer | H CF Montreal | 1-1 | Played | 97 | 7.5 | ||
| Sep 13 | Major League Soccer | A New England Revolution | 1-1 | Played | 16 | 6.7 | ||
| Sep 20 | Major League Soccer | A Columbus Crew | 1-1 | Lower-Body Injury | — | |||
| Sep 27 | Major League Soccer | H Inter Miami | 1-1 | Lower-Body Injury | — | |||
| Oct 5 | Major League Soccer | A Chicago Fire | 2-2 | Lower-Body Injury | — | |||
| Oct 9 | Major League Soccer | A Los Angeles FC | 0-2 | Lower-Body Injury | — | |||
| Oct 18 | Major League Soccer | H Orlando City SC | 4-2 | Lower-Body Injury | — |