| Candidate name | Party | Gender | Number of votes | Share (%) | Change vs. 2017 for party (percentage points) | ||
| Chris Elmore | Labour | Male | 17,602 | 49.7% | -12.7 | ||
| Sadie Vidal | Conservative | Female | 9,797 | 27.7% | +2.5 | ||
| Christine Roach | Brexit Party | Female | 2,991 | 8.5% | 0.0 | ||
| Luke Fletcher | Plaid Cymru | Male | 2,919 | 8.2% | +0.7 | ||
| Anita Davies | Liberal Democrat | Female | 1,460 | 4.1% | +2.5 | ||
| Tom Muller | Green | Male | 621 | 1.8% | 0.0 |
| Election statistics | ||
| Majority | ||
| Votes | 7,805 | |
| Percent | 22.1% | |
| Rank (1 = highest %) | 342 | |
| Turnout | ||
| Constituency | 61.5% | |
| Region | 66.6% | |
| UK | 67.3% | |
| Constituency in 2017 | 65.1% | |
| Size of electorate | 57,581 | |
| Valid votes cast | 35,390 |