| Candidate name | Party | Gender | Number of votes | Share (%) | Change vs. 2017 for party (percentage points) | ||
| Craig Tracey | Conservative | Male | 30,249 | 65.9% | +8.9 | ||
| Claire Breeze | Labour and Co-operative | Female | 12,293 | 26.8% | -12.1 | ||
| Richard Whelan | Liberal Democrat | Male | 2,069 | 4.5% | +2.3 | ||
| James Platt | Green | Male | 1,303 | 2.8% | +0.8 |
| Election statistics | ||
| Majority | ||
| Votes | 17,956 | |
| Percent | 39.1% | |
| Rank (1 = highest %) | 132 | |
| Turnout | ||
| Constituency | 65.3% | |
| Region | 64.7% | |
| UK | 67.3% | |
| Constituency in 2017 | 65.3% | |
| Size of electorate | 70,271 | |
| Valid votes cast | 45,914 |