| Candidate name | Party | Gender | Number of votes | Share (%) | Change vs. 2017 for party (percentage points) | ||
| Joanna Cherry | Scottish National Party | Female | 24,830 | 47.6% | +12.0 | ||
| Callum Laidlaw | Conservative | Male | 12,848 | 24.6% | -8.7 | ||
| Sophie Cooke | Labour | Female | 7,478 | 14.3% | -12.4 | ||
| Tom Inglis | Liberal Democrat | Male | 4,971 | 9.5% | +5.2 | ||
| Ben Parker | Green | Male | 1,265 | 2.4% | 0.0 | ||
| David Ballantine | Brexit Party | Male | 625 | 1.2% | 0.0 | ||
| Mev Brown | Social Democratic Party | Male | 114 | 0.2% | 0.0 |
| Election statistics | ||
| Majority | ||
| Votes | 11,982 | |
| Percent | 23.0% | |
| Rank (1 = highest %) | 333 | |
| Turnout | ||
| Constituency | 70.9% | |
| Region | 68.1% | |
| UK | 67.3% | |
| Constituency in 2017 | 69.4% | |
| Size of electorate | 73,501 | |
| Valid votes cast | 52,131 |