| Competition | Goals | Apps | Started | Minutes | Sub On | Sub Off | ||
|---|---|---|---|---|---|---|---|---|
| England | ||||||||
| Championship | 27 | 295 | 246 | 22,444' | 49 | 38 | 59 | 2 |
| Premier League | 0 | 24 | 18 | 1,466' | 6 | 13 | 2 | 0 |
| Carabao Cup | 2 | 15 | 12 | 1,053' | 3 | 4 | 4 | 0 |
| FA Cup | 0 | 13 | 12 | 1,155' | 1 | 1 | 4 | 0 |
| Ireland Republic | ||||||||
| First Division | 13 | 50 | 44 | 3,967' | 6 | 12 | 6 | 0 |
| League Cup | 0 | 2 | 1 | 134' | 1 | 0 | 0 | 0 |
| Total | 42 | 399 | 333 | 30,219' | 66 | 68 | 75 | 2 |
| Club | Season | League | National cup | League cup | Total | |||||
|---|---|---|---|---|---|---|---|---|---|---|
| Division | Apps | Gls | Apps | Gls | Apps | Gls | Apps | Gls | ||
Mervue Utd | 2013 | First Division | 27 | 9 | - | - | 1 | 0 | 28 | 9 |
| Total | 27 | 9 | - | - | 1 | 0 | 28 | 9 | ||
Galway Utd | 2014 | First Division | 23 | 4 | - | - | 1 | 0 | 24 | 4 |
| Total | 23 | 4 | - | - | 1 | 0 | 24 | 4 | ||
Queens Park Rangers | 2016/2017 | Championship | 18 | 1 | - | - | - | - | 18 | 1 |
| 2017/2018 | Championship | 19 | 2 | - | - | 2 | 0 | 21 | 2 | |
| 2018/2019 | Championship | 9 | 0 | 2 | 0 | 1 | 0 | 12 | 0 | |
| 2019/2020 | Championship | 41 | 4 | 1 | 0 | 2 | 1 | 44 | 5 | |
| 2020/2021 | - | - | - | - | - | 1 | 1 | 1 | 1 | |
| Total | 87 | 7 | 3 | 0 | 6 | 2 | 96 | 9 | ||
Rotherham Utd | 2018/2019 | Championship | 18 | 4 | - | - | - | - | 18 | 4 |
| Total | 18 | 4 | - | - | - | - | 18 | 4 | ||
Swansea City | 2020/2021 | Championship | 18 | 0 | 3 | 0 | - | - | 21 | 0 |
| 2021/2022 | Championship | 38 | 2 | 1 | 0 | 3 | 0 | 42 | 2 | |
| 2022/2023 | Championship | 43 | 5 | 1 | 0 | 1 | 0 | 45 | 5 | |
| Total | 99 | 7 | 5 | 0 | 4 | 0 | 108 | 7 | ||
Southampton | 2023/2024 | Championship | 40 | 0 | 1 | 0 | - | - | 41 | 0 |
| 2024/2025 | Premier League | 24 | 0 | 1 | 0 | 1 | 0 | 26 | 0 | |
| 2025/2026 | Championship | 45 | 8 | 3 | 0 | 3 | 0 | 51 | 8 | |
| 2026/2027 | Championship | 6 | 1 | - | - | 1 | 0 | 7 | 1 | |
| Total | 115 | 9 | 5 | 0 | 5 | 0 | 125 | 9 | ||
| Career total | 369 | 40 | 13 | 0 | 17 | 2 | 399 | 42 | ||