| James Palmer | Conservative | 93,942 | 40.5% | +2.5% | |
| Nik Johnson | Labour | 76,106 | 32.8% | +14.2% | |
| Aidan Van der Weyer | Liberal Democrat | 61,885 | 26.7% | +3.2% |
| Nik Johnson | Labour | 113,994 | 51.3% | +51.3% | |
| James Palmer | Conservative | 108,195 | 48.7% | -8.2% |
| 2017 |
| Con | 38.0 | ||
| LD | 23.5 | ||
| Lab | 18.6 | ||
| UKIP | 8.0 | ||
| Grn | 6.3 | ||
| Ind | 4.6 | ||
| EDP | 1.1 |
| Con | 56.9 | ||
| LD | 43.1 |