| Candidate name | Party | Gender | Number of votes | Share (%) | Change vs. 2017 for party (percentage points) | ||
| Martyn Day | Scottish National Party | Male | 25,551 | 44.2% | +7.9 | ||
| Charles Kennedy | Conservative | Male | 14,285 | 24.7% | -4.4 | ||
| Wendy Milne | Labour | Female | 10,517 | 18.2% | -12.9 | ||
| Sally Pattle | Liberal Democrat | Female | 4,393 | 7.6% | +4.2 | ||
| Marc Bozza | Brexit Party | Male | 1,257 | 2.2% | 0.0 | ||
| Gillian Mackay | Green | Female | 1,184 | 2.0% | 0.0 | ||
| Mark Tunnicliff | Veterans and People’s Party | Male | 588 | 1.0% | 0.0 |
| Election statistics | ||
| Majority | ||
| Votes | 11,266 | |
| Percent | 19.5% | |
| Rank (1 = highest %) | 370 | |
| Turnout | ||
| Constituency | 66.4% | |
| Region | 68.1% | |
| UK | 67.3% | |
| Constituency in 2017 | 65.1% | |
| Size of electorate | 87,044 | |
| Valid votes cast | 57,775 |