| Candidate name | Party | Gender | Number of votes | Share (%) | Change vs. 2017 for party (percentage points) | ||
| Simon Hart | Conservative | Male | 22,183 | 52.7% | +5.9 | ||
| Marc Tierney | Labour | Male | 14,438 | 34.3% | -5.2 | ||
| Glanville Thomas | Plaid Cymru | Male | 3,633 | 8.6% | -0.7 | ||
| Alistair Cameron | Liberal Democrat | Male | 1,860 | 4.4% | +2.2 |
| Election statistics | ||
| Majority | ||
| Votes | 7,745 | |
| Percent | 18.4% | |
| Rank (1 = highest %) | 384 | |
| Turnout | ||
| Constituency | 71.2% | |
| Region | 66.6% | |
| UK | 67.3% | |
| Constituency in 2017 | 72.1% | |
| Size of electorate | 59,158 | |
| Valid votes cast | 42,114 |