Clubs
| Club | Seasons | Apps | Goals | Assists |
|---|---|---|---|---|
| Luton | 2017/18 – 2026/27 | 187 | 0 | 0 |
| Luton Town U21 | 2023 | 1 | 0 | — |
| Wimbledon | 2014/15 – 2016/17 | 113 | 0 | — |
| Arsenal | 2010/11 – 2012/13 | 0 | 0 | — |
| Dagenham & Redbridge | 2011/12 | 4 | 0 | — |
| Southampton | 2010/11 | 0 | 0 | — |
Transfers
| Date | From | To | Type |
|---|---|---|---|
| 3 Jul 2017 | AFC Wimbledon | Luton | Free |
| 4 Jul 2014 | Harrow Borough | AFC Wimbledon | Free |
| 1 Nov 2013 | Needham Market | Harrow Borough | Free |
| 1 Oct 2013 | Arsenal | Needham Market | Free |
| 6 Dec 2011 | Dagenham & Redbridge | Arsenal | — |
| 1 Jul 2011 | Arsenal | Dagenham & Redbridge | Loan |
| 10 Mar 2011 | Southampton | Arsenal | — |
| 22 Feb 2011 | Arsenal | Southampton | Loan |
Season by season
| Season | Competition | Club | Apps | Starts | Min | Goals | Assists | Yellow | Red | Rating |
|---|---|---|---|---|---|---|---|---|---|---|
| 2026/27 | EFL Trophy | Luton | 2 | 2 | 180 | 0 | 0 | 0 | 0 | 6.90 |
| 2026/27 | League One | Luton | 4 | 4 | 360 | 0 | 0 | 0 | 0 | 6.44 |
| 2025/26 | Friendlies Clubs | Luton | 20 | 11 | 90 | — | — | 0 | 0 | 7.20 |
| 2025/26 | League Cup | Luton | 1 | 1 | 90 | 0 | 0 | 0 | 0 | 7.20 |
| 2025/26 | EFL Trophy | Luton | 8 | 8 | 645 | 0 | 0 | 0 | 0 | 6.23 |
| 2025/26 | FA Cup | Luton | 1 | 1 | — | 0 | 0 | 0 | 0 | — |
| 2025/26 | League One | Luton | 1 | 1 | 90 | 0 | 0 | 0 | 0 | 7.60 |
| 2024/25 | Championship | Luton | 10 | 5 | 146 | — | 0 | 0 | 0 | 6.95 |
| 2023/24 | Premier League | Luton | 14 | 8 | 14 | — | 0 | 0 | 0 | 7.00 |
| 2023 | Premier League Cup | Luton Town U21 | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2022/23 | Championship | Luton | 20 | 11 | 90 | — | — | 0 | 0 | 7.20 |
| 2021/22 | Championship | Luton | 19 | 19 | 1665 | 0 | — | 1 | 0 | 6.95 |
| 2021/22 | League Cup | Luton | 1 | 1 | 90 | 0 | — | 0 | 0 | 6.30 |
| 2021/22 | FA Cup | Luton | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2020/21 | Championship | Luton | 7 | 7 | 630 | 0 | — | 1 | 0 | 6.63 |
| 2020/21 | League Cup | Luton | 3 | 3 | 270 | 0 | — | 0 | 0 | 7.30 |
| 2019/20 | Championship | Luton | 13 | 13 | 1170 | 0 | — | 0 | 0 | 6.83 |
| 2019/20 | League Cup | Luton | 3 | 3 | 270 | 0 | — | 0 | 0 | 7.87 |
| 2018/19 | League One | Luton | 41 | 41 | 3690 | 0 | — | 1 | 0 | — |
| 2018/19 | League Cup | Luton | 1 | 1 | 90 | 0 | — | 0 | 0 | 7.30 |
| 2018/19 | FA Cup | Luton | 4 | 4 | 360 | 0 | — | 0 | 0 | — |
| 2017/18 | League Two | Luton | 8 | 8 | 720 | 0 | — | 1 | 0 | — |
| 2017/18 | EFL Trophy | Luton | 5 | 5 | 450 | 0 | — | 1 | 0 | — |
| 2016/17 | League One | Wimbledon | 36 | 36 | 3240 | 0 | — | 2 | 0 | — |
| 2016/17 | EFL Trophy | Wimbledon | 2 | 2 | 101 | 0 | — | 0 | 0 | — |
| 2016/17 | FA Cup | Wimbledon | 5 | 5 | 450 | 0 | — | 0 | 0 | 7.20 |
| 2015/16 | League Two | Wimbledon | 21 | 21 | 1890 | 0 | — | 0 | 0 | — |
| 2015/16 | League Cup | Wimbledon | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2015/16 | EFL Trophy | Wimbledon | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2014/15 | League Two | Wimbledon | 38 | 38 | 3353 | 0 | — | 0 | 0 | — |
| 2014/15 | League Cup | Wimbledon | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2014/15 | EFL Trophy | Wimbledon | 3 | 3 | 270 | 0 | — | 0 | 0 | — |
| 2014/15 | FA Cup | Wimbledon | 4 | 4 | 360 | 0 | — | 0 | 0 | — |
| 2014/15 | Club Friendlies | Wimbledon | 1 | 1 | 70 | 0 | — | 0 | 0 | — |
| 2011/12 | League Two | Dagenham & Redbridge | 1 | 0 | 10 | 0 | — | 1 | 0 | — |
| 2011/12 | EFL Trophy | Dagenham & Redbridge | 1 | 1 | 90 | 0 | — | 1 | 0 | — |
| 2011/12 | League Cup | Dagenham & Redbridge | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
| 2011/12 | FA Cup | Dagenham & Redbridge | 1 | 1 | 90 | 0 | — | 0 | 0 | — |
Availability history
| Reason | From | Until | Days |
|---|---|---|---|
| Injury | 11 May 2022 | 2 Feb 2023 | 267 |
Trophies
| Competition | Season | Place |
|---|---|---|
| League Cup (England) | 2010/2011 | 2nd Place |
| League Two (England) | 2017/2018 | 2nd Place |
| League One (England) | 2018/2019 | Winner |
| Emirates Cup (World) | 2010 | Winner |
| Emirates Cup (World) | 2009 | Winner |
