| Candidate name | Party | Gender | Number of votes | Share (%) | Change vs. 2017 for party (percentage points) | ||
| Allan Dorans | Scottish National Party | Male | 20,272 | 43.5% | +9.4 | ||
| Martin Dowey | Conservative | Male | 17,943 | 38.5% | -1.6 | ||
| Duncan Townson | Labour | Male | 6,219 | 13.3% | -10.5 | ||
| Helena Bongard | Liberal Democrat | Female | 2,158 | 4.6% | +2.7 |
| Election statistics | ||
| Majority | ||
| Votes | 2,329 | |
| Percent | 5.0% | |
| Rank (1 = highest %) | 584 | |
| Turnout | ||
| Constituency | 64.7% | |
| Region | 68.1% | |
| UK | 67.3% | |
| Constituency in 2017 | 64.9% | |
| Size of electorate | 71,970 | |
| Valid votes cast | 46,592 |