| Youth career | |||
|---|---|---|---|
| –2003 | Shrewsbury Town | ||
| Senior career* | |||
| Years | Team | Apps | (Gls) |
| 2003–2006 | Shrewsbury Town | 54 | (0) |
| 2006–2018 | Manchester City | 266 | (0) |
| 2007 | → Tranmere Rovers (loan) | 6 | (0) |
| 2007 | → Blackpool (loan) | 5 | (0) |
| 2009–2010 | → Birmingham City (loan) | 36 | (0) |
| 2016–2017 | → Torino (loan) | 36 | (0) |
| 2017–2018 | → West Ham United (loan) | 19 | (0) |
| 2018–2020 | Burnley | 19 | (0) |
| 2020–2021 | Tottenham Hotspur | 0 | (0) |
| 2021–2024 | Celtic | 109 | (0) |
| Total | 550 | (0) | |
| International career | |||
| 2005–2006 | England U19 | 6 | (0) |
| 2007–2009 | England U21 | 21 | (0) |
| 2008–2017 | England | 75 | (0) |
| *Club domestic league appearances and goals | |||