# 2017 City and County of Swansea Council election

The 2017 election to the City and County of Swansea Council was held on 4 May 2017 as part of wider local elections across Wales. The election was preceded by the 2012 election. Labour maintained control of the authority.
The next full council elections took place in May 2022.

## Summary of results

City and County of Swansea Council election result 2017 :
| Party | Seats | Gains | Losses | Net gain/loss |
| Labour | 48 | 2 | 3 | -1 |
| Liberal Democrats | 7 | 0 | 5 | -5 |
| Independent | 7 | 2 | 1 | +1 |
| Conservative | 8 | 4 | 0 | +4 |
| Plaid Cymru | 0 | | | |
| Green | 0 | | | 0 |
| Uplands | 2 | 2 | 0 | +2 |
| TUSC | 0 | | | 0 |
| People's Representative | 0 | 0 | 1 | -1 |

## Ward results

The following results were announced following the elections. In the case of wards electing more than one councillor the percentage figures reflect the number of ballot papers issued rather than the total number of votes.

### Bishopston (one seat)

Bishopston 2017 :
| Party | Party | Candidate | Votes | % | ±% |
| | Conservative | Lyndon Jones | 620 | | |
| | Independent | Keith Marsh* | 440 | | |
| | Labour | Adam Gilbert | 397 | | |
| | Green | Karen Laurence | 63 | | |
| Majority | Majority | Majority | | | |
| Turnout | Turnout | Turnout | | 56.8 | +16.7 |
| | Conservative gain from Independent | Conservative gain from Independent | Swing | | |
Independent Keith Marsh lost the seat he had held for eighteen years.

### Bonymaen (two seats)

Bonymaen 2017 :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Mandy Evans* | 1,050 | | |
| | Labour | Paul Lloyd* | 1,010 | | |
| | Plaid Cymru | Geraint Couch | 249 | | |
| | Conservative | Elaine Hughes | 227 | | |
| | Conservative | Wendy Olsen | 210 | | |
| Turnout | Turnout | Turnout | | 28.9 | −3.3 |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |

### Castle (four seats)

Castle 2017 :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Sybil Crouch* | 1,820 | | |
| | Labour | Erika Kirchner* | 1,772 | | |
| | Labour | Fiona Gordon* | 1,763 | | |
| | Labour | David Phillips* | 1,716 | | |
| | Conservative | Paul Morris | 568 | | |
| | Conservative | Sonya Morris | 534 | | |
| | Conservative | Mohammad Amin Doha | 425 | | |
| | Conservative | Akshit Sanjiv Khanna | 411 | | |
| | Plaid Cymru | Shan Couch | 349 | | |
| | Plaid Cymru | Damian Martin | 254 | | |
| | UKIP | Stan Robinson | 247 | | |
| | Liberal Democrats | Charlene Anika | 237 | | |
| | Liberal Democrats | Owen Roberts | 235 | | |
| | Green | David Smith | 220 | | |
| | Plaid Cymru | Harri Roberts | 210 | | |
| | Liberal Democrats | Thomas Davies | 203 | | |
| | Plaid Cymru | David Richards | 191 | | |
| | Liberal Democrats | Benjamin Williams | 191 | | |
| | TUSC | Alec Thraves | 112 | | |
| | TUSC | Claire Job | 97 | | |
| | TUSC | Colin John | 89 | | |
| Turnout | Turnout | Turnout | | 29.8 | +0.8 |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |

### Clydach (two seats)

Clydach 2017 :
| Party | Party | Candidate | Votes | % | ±% |
| | Independent | Gordon Walker* | 1,211 | | |
| | Labour | Paulette Smith* | 1,134 | | |
| | Labour | Julie Davies | 825 | | |
| | Plaid Cymru | Elgan Davies-Jones | 387 | | |
| | Conservative | David Rowlands-Lean | 311 | | |
| | Conservative | Roda Ali | 230 | | |
| Turnout | Turnout | Turnout | | 28.4 | −8.0 |
| | Independent hold | Independent hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |

### Cockett (four seats)

Cockett 2017 :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Mike Durke | 1,839 | | |
| | Labour | Wendy Lewis | 1,792 | | |
| | Labour | Oliver James | 1,714 | | |
| | Labour | Elliott King | 1,528 | | |
| | Conservative | Keith Hedges | 791 | | |
| | Conservative | Deidre Lomer-Hedges | 721 | | |
| | Conservative | Jack Powell | 674 | | |
| | Conservative | Jack Huang | 622 | | |
| | Liberal Democrats | Nicola Holley | 510 | | |
| | Plaid Cymru | Patricia Sanderson | 494 | | |
| | Plaid Cymru | Adrian Rees | 476 | | |
| | Plaid Cymru | David Lewis | 417 | | |
| | Liberal Democrats | Jon Coffey | 349 | | |
| | Liberal Democrats | James Kelleher | 328 | | |
| | Liberal Democrats | William Morgan | 279 | | |
| Turnout | Turnout | Turnout | | 32.7 | −0.2 |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |

### Cwmbwrla (three seats)

Cwmbwrla 2017 :
| Party | Party | Candidate | Votes | % | ±% |
| | Liberal Democrats | Peter Black* | 1,430 | | |
| | Liberal Democrats | Christopher Holley* | 1,239 | | |
| | Liberal Democrats | Lewis Thomas* | 1,199 | | |
| | Labour | Ann Cook | 674 | | |
| | Labour | Isobel Norris | 626 | | |
| | Labour | Andrew Crowley | 583 | | |
| | Conservative | Robert Dowdle | 147 | | |
| | Conservative | Mark Lloyd | 134 | | |
| | Conservative | Henri Davies | 98 | | |
| Turnout | Turnout | Turnout | | 38.2 | +3.0 |
| | Liberal Democrats hold | Liberal Democrats hold | Swing | | |
| | Liberal Democrats hold | Liberal Democrats hold | Swing | | |
| | Liberal Democrats hold | Liberal Democrats hold | Swing | | |

### Dunvant (two seats)

Dunvant 2017 :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Louise Gibbard | 694 | | |
| | Labour | Jennifer Raynor* | 680 | | |
| | Conservative | Matthew Gates | 436 | | |
| | Conservative | Andrew Silvertsen | 403 | | |
| | Liberal Democrats | Hugh Tregoning | 313 | | |
| | Liberal Democrats | Nicholas Tregoning | 220 | | |
| Turnout | Turnout | Turnout | | 42.0 | +3.1 |
| | Labour gain from Liberal Democrats | Labour gain from Liberal Democrats | Swing | | |
| | Labour hold | Labour hold | Swing | | |

### Fairwood (one seat)

Fairwood 2017 :
| Party | Party | Candidate | Votes | % | ±% |
| | Conservative | Paxton Hood‐Williams* | 819 | | |
| | Labour | Steve Hopkins | 274 | | |
| | Green | Abi Cherry-Hamer | 95 | | |
| Turnout | Turnout | Turnout | | 52.8 | +3.1 |
| | Conservative hold | Conservative hold | Swing | | |

### Gorseinon (one seat)

Gorseinon 2017 :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Kelly Roberts | 501 | | |
| | Plaid Cymru | Darren Thomas | 241 | | |
| | Conservative | Rebecca Walters | 209 | | |
| | Independent | Stuart Hemsley-Rice | 141 | | |
| Turnout | Turnout | Turnout | | 33.4 | +0.7 |
| | Labour hold | Labour hold | Swing | | |

### Gower (one seat)

Gower 2017 :
| Party | Party | Candidate | Votes | % | ±% |
| | Independent | Richard Lewis* | 864 | | |
| | Labour | Thomas Dunn | 359 | | |
| | Conservative | Thomas Jones | 278 | | |
| Turnout | Turnout | Turnout | | 51.9 | +4.4 |
| | Independent gain from Liberal Democrats | Independent gain from Liberal Democrats | Swing | | |
Sitting member Richard Lewis switched back from the Lib Dems to the Independents.

### Gowerton (one seat)

Gowerton 2012 :
| Party | Party | Candidate | Votes | % | ±% |
| | Independent | Susan Jones* | 818 | | |
| | Labour | Nicola Matthews | 637 | | |
| | Conservative | Christopher Elvins | 268 | | |
| Turnout | Turnout | Turnout | | 28.8 | −8.2 |
| | Independent hold | Independent hold | Swing | | |

### Killay North (one seat)

Killay North 2017 :
| Party | Party | Candidate | Votes | % | ±% |
| | Liberal Democrats | Mary Jones* | 371 | | |
| | Labour | Angela James | 184 | | |
| | Conservative | Denise Howard | 157 | | |
| | Plaid Cymru | Rhydian Fitter | 87 | | |
| Turnout | Turnout | Turnout | | 40.5 | +16.8 |
| | Liberal Democrats hold | Liberal Democrats hold | Swing | | |

### Killay South (one seat)

Killay South 2017 :
| Party | Party | Candidate | Votes | % | ±% |
| | Liberal Democrats | Jeffrey Jones* | 327 | | |
| | Conservative | Martin Quaile | 305 | | |
| | Labour | Greg James | 272 | | |
| Turnout | Turnout | Turnout | | 49.1 | +5.4 |
| | Liberal Democrats hold | Liberal Democrats hold | Swing | | |

### Kingsbridge (one seat)

Kingsbridge 2017 :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | William Evans* | 722 | | |
| | Conservative | Stephen Phillips | 484 | | |
| | Independent | Aimee Hemsley-Rice | 256 | | |
| Turnout | Turnout | Turnout | | 28.1 | −8.2 |
| | Labour hold | Labour hold | Swing | | |

### Landore (two seats)

Landore 2017 :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Beverley Hopkins* | 1,054 | | |
| | Labour | Michael White* | 1,015 | | |
| | Conservative | Elizabeth Thomas | 225 | | |
| | Conservative | David Thomas | 208 | | |
| | UKIP | Mozid Abdul | 117 | | |
| Turnout | Turnout | Turnout | | 28.5 | −6.6 |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |

### Llangyfelach (one seat)

Llangyfelach 2017 :
| Party | Party | Candidate | Votes | % | ±% |
| | Independent | David Sullivan* | 564 | | |
| | Labour | Wayne Morgan | 509 | | |
| | Conservative | Paul Doughton | 424 | | |
| Turnout | Turnout | Turnout | | 38.7 | +8.8 |
| | Independent hold | Independent hold | Swing | | |

### Llansamlet (four seats)

Llansamlet 2017 :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Ryland Doyle* | 1,899 | | |
| | Labour | Penelope Matthews* | 1,882 | | |
| | Labour | Alyson Pugh | 1,765 | | |
| | Labour | Mo Sykes | 1,414 | | |
| | Independent | Tony Paget | 852 | | |
| | Conservative | William Davies | 777 | | |
| | Conservative | Stephanie Whitehead | 610 | | |
| | Conservative | George Field | 592 | | |
| | Liberal Democrats | Helen Thomas | 551 | | |
| | Conservative | Jake Wrightson | 510 | | |
| | UKIP | Linda Farrell | 464 | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |
| Turnout | Turnout | Turnout | | 31.0 | +0.7 |

### Lower Loughor (one seat)

Lower Loughor 2017 :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Julie Richards* | 602 | | |
| | Conservative | Raymond Hinds | 107 | | |
| Turnout | Turnout | Turnout | | 40.6 | +7.6 |
| | Labour hold | Labour hold | Swing | | |

### Mawr (one seat)

Mawr 2017 :
| Party | Party | Candidate | Votes | % | ±% |
| | Conservative | Brigette Rowlands | 265 | | |
| | Plaid Cymru | Linda Frame | 193 | | |
| | Labour | John Bidwell | 167 | | |
| | Independent | Geraint Turner | 115 | | |
| | Conservative gain from Independent | Conservative gain from Independent | Swing | | |
| Turnout | Turnout | Turnout | | 52.9 | +8.1 |

### Mayals (one seat)

Mayals 2017 :
| Party | Party | Candidate | Votes | % | ±% |
| | Conservative | Linda Tyler-Lloyd* | 627 | | |
| | Independent | Helen Mitchell | 271 | | |
| | Labour | Joanne Fitton | 207 | | |
| | Conservative hold | Conservative hold | Swing | | |
| Turnout | Turnout | Turnout | | 52.3 | +6.2 |

### Morriston (five seats)

Morriston 2017 :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Robert Stewart* | 2,434 | | |
| | Labour | Ceri Evans | 2,396 | | |
| | Labour | Robert Francis-Davies* | 2,111 | | |
| | Labour | Andrea Lewis* | 2,051 | | |
| | Labour | Yvonne Jardine | 2,025 | | |
| | Conservative | Daniel Boucher | 1,509 | | |
| | Conservative | Robert James | 1,200 | | |
| | Conservative | Matthew Lloyd | 1,117 | | |
| | Plaid Cymru | Steffan Phillips | 1,076 | | |
| | Conservative | Jayne Isaac | 870 | | |
| | Conservative | Thabo Khumalo | 851 | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |
| Turnout | Turnout | Turnout | | 34.4 | +4.4 |

### Mynyddbach (three seats)

Mynyddbach 2017 :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Mike Lewis | 1,605 | | |
| | Labour | Samuel Pritchard | 1,275 | | |
| | Labour | Gloria Tanner* | 1,190 | | |
| | Conservative | Thomas Morgan | 625 | | |
| | Conservative | Marina Howells | 565 | | |
| | Conservative | Thomas Howells | 549 | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |
| Turnout | Turnout | Turnout | | 33.5 | −1.4 |

### Newton (one seat)

Newton 2017 :
| Party | Party | Candidate | Votes | % | ±% |
| | Conservative | William Thomas | 861 | | |
| | Labour | Rob Marshall | 540 | | |
| | Independent | Tracey Duffy | 114 | | |
| | Green | Raymond Laurence | 43 | | |
| | Conservative hold | Conservative hold | Swing | | |
| Turnout | Turnout | Turnout | | 56.8 | +10.9 |

### Oystermouth (one seat)

The previous Conservative candidate stood as an Independents@Swansea candidate.
Oystermouth 2017 :
| Party | Party | Candidate | Votes | % | ±% |
| | Conservative | Myles Langstone | 645 | | |
| | Labour | Stephen Williams | 526 | | |
| | Independent | Anthony Colburn* | 213 | | |
| | Independent | Dorian Davies | 123 | | |
| | Independent | Paul Whittaker | 91 | | |
| | Green | Anna Pigott | 75 | | |
| | Conservative hold | Conservative hold | Swing | | |
| Turnout | Turnout | Turnout | | 51.6 | +4.4 |

### Penclawdd (one seat)

Penclawdd 2017 :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Mark Thomas* | 712 | | |
| | Conservative | Gordon Howells | 440 | | |
| | Plaid Cymru | John Davies | 130 | | |
| | Labour hold | Labour hold | Swing | | |
| Turnout | Turnout | Turnout | | 44.1 | −2.5 |

### Penderry (three seats)

Penderry 2017 :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | June Burtonshaw* | 1,101 | | |
| | Labour | Terry Hennegan* | 1,100 | | |
| | Labour | Hazel Morris* | 1,084 | | |
| | Conservative | Peter Trotman | 336 | | |
| | Green | James Young | 319 | | |
| | Conservative | Paul Hambly | 314 | | |
| | Conservative | Taryn Trotman | 279 | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |
| Turnout | Turnout | Turnout | | 21.7 | −0.5 |

### Penllergaer (one seat)

Penllergaer 2017 :
| Party | Party | Candidate | Votes | % | ±% |
| | Independent | Elizabeth Fitzgerald* | 1,035 | | |
| | Labour | Michelle Morgan | 143 | | |
| | Conservative | Roberta Jones | 36 | | |
| | Independent hold | Independent hold | Swing | | |
| Turnout | Turnout | Turnout | | 47.7 | +5.2 |

### Pennard (one seat)

Pennard 2017 :
| Party | Party | Candidate | Votes | % | ±% |
| | Independent | Lynda James* | 564 | | |
| | Conservative | Fred Cunliffe | 408 | | |
| | Labour | Susan Rodaway | 323 | | |
| | Independent hold | Independent hold | Swing | | |
| Turnout | Turnout | Turnout | | 59.0 | +6.7 |

### Penyrheol (two seats)

Penyrheol 2017 :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Jan Curtice* | 1,013 | | |
| | Labour | Andrew Stevens | 967 | | |
| | Plaid Cymru | Jim Dunckley | 455 | | |
| | Conservative | Laura Gilbert | 440 | | |
| | Conservative | Elizabeth Trotman | 346 | | |
| | Plaid Cymru | Patrick Powell | 166 | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |
| Turnout | Turnout | Turnout | | 39.9 | +5.7 |

### Pontarddulais (two seats)

Pontarddulais 2017 :
| Party | Party | Candidate | Votes | % | ±% |
| | Independent | Kevin Griffiths | 832 | | |
| | Labour | Philip Downing* | 801 | | |
| | Labour | Jane Harris* | 667 | | |
| | Independent | Byron Lewis | 634 | | |
| | Conservative | Irene Wilkins | 344 | | |
| | Conservative | Mohammad Samer Saad | 262 | | |
| | UKIP | Ken Haynes | 154 | | |
| | Independent gain from Labour | Independent gain from Labour | Swing | | |
| | Labour hold | Labour hold | Swing | | |
| Turnout | Turnout | Turnout | | 25.6 | −13.4 |

### Sketty (five seats)

Sketty 2017 :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Peter Jones | 1,645 | | |
| | Liberal Democrats | Cheryl Philpott* | 1,599 | | |
| | Liberal Democrats | Michael Day* | 1,593 | | |
| | Conservative | Stephen Gallagher | 1,531 | | |
| | Conservative | David Helliwell | 1,450 | | |
| | Conservative | Rebecca Singh | 1,360 | | |
| | Labour | Geraint Owens | 1,354 | | |
| | Conservative | Mark Ritchie | 1,331 | | |
| | Liberal Democrats | Thomas Rees* | 1,310 | | |
| | Labour | Ben Jenkins | 1,300 | | |
| | Labour | Greg Kaminaris | 1,265 | | |
| | Conservative | Matthew Smith | 1,218 | | |
| | Liberal Democrats | Phil Hall | 1,216 | | |
| | Labour | Maciej Krzymieniecki | 1,161 | | |
| | Liberal Democrats | James McGettrick | 905 | | |
| | Plaid Cymru | Sian Thomas | 618 | | |
| | Independent | Matthew Jones | 593 | | |
| | Independent | Paula Pritchard | 469 | | |
| Turnout | Turnout | Turnout | | 44.6 | +6.6 |
| | Labour gain from Liberal Democrats | Labour gain from Liberal Democrats | Swing | | |
| | Liberal Democrats hold | Liberal Democrats hold | Swing | | |
| | Liberal Democrats hold | Liberal Democrats hold | Swing | | |
| | Conservative gain from Liberal Democrats | Conservative gain from Liberal Democrats | Swing | | |
| | Conservative gain from Liberal Democrats | Conservative gain from Liberal Democrats | Swing | | |

### St Thomas (two seats)

St Thomas 2017 :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Joe Hale* | 1,285 | | |
| | Labour | Clive Lloyd* | 1,235 | | |
| | Conservative | Elizabeth Thomas | 253 | | |
| | Conservative | Owain Thomas | 212 | | |
| | UKIP | Clifford Johnson | 151 | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |
| Turnout | Turnout | Turnout | | 30.3 | +0.4 |

### Townhill (three seats)

Townhill 2017 :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Cyril Anderson | 1,090 | | |
| | Labour | David Hopkins* | 1,044 | | |
| | Labour | Lesley Walton* | 1,009 | | |
| | Conservative | Ross Lock | 261 | | |
| | UKIP | Gary North | 243 | | |
| | Conservative | Marguerite Tcheko | 233 | | |
| | TUSC | Owen Herbert | 155 | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |
| Turnout | Turnout | Turnout | | 26.4 | +0.7 |

### Uplands (four seats)

Uplands 2017 :
| Party | Party | Candidate | Votes | % | ±% |
| | Uplands | Peter May* | 1,705 | | |
| | Labour | Nick Davies* | 1,247 | | |
| | Uplands | Irene Mann | 1,216 | | |
| | Labour | Mary Sherwood | 1,171 | | |
| | Uplands | Rhys Morgan | 1,137 | | |
| | Labour | Uzo Iwobi | 1,132 | | |
| | Labour | Jamie White | 1,104 | | |
| | Uplands | Ewan May | 1,023 | | |
| | Green | Gareth Tucker | 391 | | |
| | Liberal Democrats | Jayne Woodman | 386 | | |
| | Liberal Democrats | Janet Thomas | 379 | | |
| | Women's Equality | Sally Smith | 333 | | |
| | Liberal Democrats | Mike O'Carroll | 316 | | |
| | Conservative | Lewys Phillips | 280 | | |
| | Conservative | John Evans | 268 | | |
| | Conservative | Adam Ganczakowski | 262 | | |
| | Conservative | Jack Simcock | 259 | | |
| | Uplands gain from Labour | Uplands gain from Labour | Swing | | |
| | Labour hold | Labour hold | Swing | | |
| | Uplands gain from Labour | Uplands gain from Labour | Swing | | |
| | Labour hold | Labour hold | Swing | | |
| Turnout | Turnout | Turnout | | 37.8 | +11.0 |

### Upper Loughor (one seat)

Upper Loughor 2017 :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Robert Smith* | 638 | | |
| | Conservative | Barbara Jones | 235 | | |
| | TUSC | Mark Evans | 30 | | |
| | Labour hold | Labour hold | Swing | | |
| Turnout | Turnout | Turnout | | 42.5 | +6.7 |

### West Cross (two seats)

West Cross 2017 :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Mark Child* | 1,178 | | |
| | Labour | Desmond Thomas* | 1,085 | | |
| | Conservative | Kate Smith | 1,054 | | |
| | Conservative | Matthew Gilbert | 1,035 | | |
| | Green | Christopher Evans | 192 | | |
| | UKIP | Colin Beckett | 138 | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |
| Turnout | Turnout | Turnout | | 32.6 | −6.3 |
* = sitting councillor in this ward prior to election

## By-elections
### Castle

Castle: 6 May 2021 :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Hannah Lawson | 1,637 | 44.0 | −7.2 |
| | Liberal Democrats | San Bennett | 694 | 18.7 | +12.0 |
| | Conservative | Jacob Derluk | 424 | 11.4 | −4.6 |
| | Plaid Cymru | Harri Roberts | 423 | 11.4 | +1.6 |
| | Green | Jon Pitans | 185 | 5.0 | −1.2 |
| | UKIP | Stan Robinson | 120 | 3.2 | −3.8 |
| | Independent | Mike Harcourt | 105 | 2.8 | N/A |
| | Independent | Heather Burdett | 73 | 2.0 | N/A |
| | TUSC | Gareth Bromhall | 58 | 1.6 | −1.6 |
| Majority | Majority | Majority | 943 | 25.3 | |
| Turnout | Turnout | Turnout | 3,719 | | |
| | Labour hold | Labour hold | Swing | 9.6 | |

### Llansamlet

Llansamlet: 6 May 2021 :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Matthew Jones | 2,492 | 60.0 | +18.2 |
| | Plaid Cymru | Ioan Gruffydd | 887 | 21.3 | N/A |
| | Green | Rhiannon Wall | 426 | 10.3 | N/A |
| | Liberal Democrats | David Jones | 351 | 8.4 | −3.7 |
| Majority | Majority | Majority | 1,605 | 38.7 | |
| Turnout | Turnout | Turnout | 4,156 | | |
| | Labour hold | Labour hold | Swing | 1.6 | |