| Candidate name | Party | Gender | Number of votes | Share (%) | Change vs. 2017 for party (percentage points) | ||
| Amy Callaghan | Scottish National Party | Female | 19,672 | 37.1% | +6.8 | ||
| Jo Swinson | Liberal Democrat | Female | 19,523 | 36.8% | -3.8 | ||
| Pam Gosal | Conservative | Female | 7,455 | 14.1% | -0.5 | ||
| Callum McNally | Labour | Male | 4,839 | 9.1% | -5.4 | ||
| Carolynn Scrimgeour | Green | Female | 916 | 1.7% | 0.0 | ||
| Rosie Dickson | Independent | Female | 221 | 0.4% | 0.0 | ||
| Donald MacKay | UK Independence Party | Male | 208 | 0.4% | 0.0 | ||
| Liam McKechnie | Scottish Family Party | Male | 197 | 0.4% | 0.0 |
| Majority | |||
| Votes | 149 | ||
| Percent | 0.3% | ||
| Rank (1 = highest %) | 648 | ||
| Turnout | |||
| Constituency | 80.3% | ||
| Region | 68.1% | ||
| UK | 67.3% | ||
| Constituency in 2017 | 78.1% | ||
| Size of electorate | 66,075 | ||
| Valid votes cast | 53,031 |