| Candidate name | Party | Gender | Number of votes | Share (%) | Change vs. 2017 for party (percentage points) | ||
| Stephen Hammond | Conservative | Male | 20,373 | 38.4% | -8.1 | ||
| Paul Kohler | Liberal Democrat | Male | 19,745 | 37.2% | +22.7 | ||
| Jackie Schneider | Labour | Female | 12,543 | 23.7% | -11.9 | ||
| Graham Hadley | Independent | Male | 366 | 0.7% | 0.0 |
| Election statistics | ||
| Majority | ||
| Votes | 628 | |
| Percent | 1.2% | |
| Rank (1 = highest %) | 635 | |
| Turnout | ||
| Constituency | 77.7% | |
| Region | 67.5% | |
| UK | 67.3% | |
| Constituency in 2017 | 77.2% | |
| Size of electorate | 68,240 | |
| Valid votes cast | 53,027 |