| Candidate name | Party | Gender | Number of votes | Share (%) | Change vs. 2017 for party (percentage points) | ||
| Christina Rees | Labour and Co-operative | Female | 15,920 | 43.3% | -13.4 | ||
| Jon Burns | Conservative | Male | 10,283 | 28.0% | +4.3 | ||
| Daniel Williams | Plaid Cymru | Male | 4,495 | 12.2% | -1.7 | ||
| Simon Briscoe | Brexit Party | Male | 3,184 | 8.7% | 0.0 | ||
| Adrian Kingston-Jones | Liberal Democrat | Male | 1,485 | 4.0% | +2.1 | ||
| Megan Lloyd | Green | Female | 728 | 2.0% | 0.0 | ||
| Philip Rogers | Independent | Male | 594 | 1.6% | 0.0 | ||
| Carl Williams | Social Democratic Party | Male | 67 | 0.2% | 0.0 |
| Election statistics | ||
| Majority | ||
| Votes | 5,637 | |
| Percent | 15.3% | |
| Rank (1 = highest %) | 433 | |
| Turnout | ||
| Constituency | 65.1% | |
| Region | 66.6% | |
| UK | 67.3% | |
| Constituency in 2017 | 68.5% | |
| Size of electorate | 56,419 | |
| Valid votes cast | 36,756 |