| Candidate name | Party | Gender | Number of votes | Share (%) | Change vs. 2017 for party (percentage points) | ||
| Patricia Gibson | Scottish National Party | Female | 23,376 | 48.5% | +9.6 | ||
| David Rocks | Conservative | Male | 14,855 | 30.8% | -0.4 | ||
| Cameron Gilmore | Labour | Male | 6,702 | 13.9% | -13.6 | ||
| Louise Young | Liberal Democrat | Female | 2,107 | 4.4% | +2.0 | ||
| David Nairn | Green | Male | 1,114 | 2.3% | 0.0 |
| Election statistics | ||
| Majority | ||
| Votes | 8,521 | |
| Percent | 17.7% | |
| Rank (1 = highest %) | 401 | |
| Turnout | ||
| Constituency | 65.5% | |
| Region | 68.1% | |
| UK | 67.3% | |
| Constituency in 2017 | 64.8% | |
| Size of electorate | 73,534 | |
| Valid votes cast | 48,154 |