| Candidate name | Party | Gender | Number of votes | Share (%) | Change vs. 2017 for party (percentage points) | ||
| Matt Western | Labour | Male | 23,718 | 43.8% | -2.9 | ||
| Jack Rankin | Conservative | Male | 22,929 | 42.3% | -2.1 | ||
| Louis Adam | Liberal Democrat | Male | 4,995 | 9.2% | +4.0 | ||
| Jonathan Chilvers | Green | Male | 1,536 | 2.8% | +0.6 | ||
| Tim Griffiths | Brexit Party | Male | 807 | 1.5% | 0.0 | ||
| Bob Dhillon | Independent | Male | 153 | 0.3% | 0.0 | ||
| Xander Bennett | Social Democratic Party | Male | 67 | 0.1% | 0.0 |
| Election statistics | ||
| Majority | ||
| Votes | 789 | |
| Percent | 1.5% | |
| Rank (1 = highest %) | 630 | |
| Turnout | ||
| Constituency | 71.0% | |
| Region | 64.7% | |
| UK | 67.3% | |
| Constituency in 2017 | 72.8% | |
| Size of electorate | 76,362 | |
| Valid votes cast | 54,205 |