| Candidate name | Party | Gender | Number of votes | Share (%) | Change vs. 2017 for party (percentage points) | ||
| John Lamont | Conservative | Male | 25,747 | 48.4% | -5.4 | ||
| Calum Kerr | Scottish National Party | Male | 20,599 | 38.8% | +6.0 | ||
| Jenny Marr | Liberal Democrat | Female | 4,287 | 8.1% | +3.3 | ||
| Ian Davidson | Labour | Male | 2,513 | 4.7% | -3.9 |
| Election statistics | ||
| Majority | ||
| Votes | 5,148 | |
| Percent | 9.7% | |
| Rank (1 = highest %) | 517 | |
| Turnout | ||
| Constituency | 71.3% | |
| Region | 68.1% | |
| UK | 67.3% | |
| Constituency in 2017 | 71.5% | |
| Size of electorate | 74,518 | |
| Valid votes cast | 53,146 |