| Candidates by vote share | |||||||
| Candidate name | Party | Gender | Number of votes | Share (%) | Change vs. 2017 for party (percentage points) | ||
| Richard Thomson | Scottish National Party | Male | 23,885 | 42.7% | +6.9 | ||
| Colin Clark | Conservative | Male | 23,066 | 41.3% | +0.5 | ||
| James Oates | Liberal Democrat | Male | 5,913 | 10.6% | -1.0 | ||
| Heather Herbert | Labour | Female | 3,052 | 5.5% | -6.4 |
| Election statistics | ||
| Majority | ||
| Votes | 819 | |
| Percent | 1.5% | |
| Rank (1 = highest %) | 629 | |
| Turnout | ||
| Constituency | 70.2% | |
| Region | 68.1% | |
| UK | 67.3% | |
| Constituency in 2017 | 68.4% | |
| Size of electorate | 79,629 | |
| Valid votes cast | 55,916 |