# 2017 Cardiff Council election

The 2017 Cardiff Council election was held on 4 May 2017 as part of the national 2017 Welsh local elections. The elections were preceded by the 2012 elections and were followed by the 2022 elections.

## Election result

Labour maintained control of the authority following these elections, gaining their highest popular vote since 1995, but ending up with a reduced number of seats. The Conservatives achieved their best result since the unitary council was created in 1995, winning twenty seats and replacing the Liberal Democrats as the official opposition on the council. Plaid Cymru also secured their highest popular vote, despite standing in fewer seats than in 2012, but only won three seats. The Liberal Democrats in Cardiff suffered their worst election result in terms of total seats won (eleven) since 1995, whilst the local Green Party failed to win its first seat on the council, suffering a fall in support when compared to the 2012 election. The only independent candidate to be elected was Fenella Bowden in the Heath ward, who would become Cardiff Council's longest serving Independent councillor during the council term.
The only member of the original council elected in 1995 who had served continuously since then is Russell Goodway, former leader of the Council, who was again returned for the Ely ward. Others elected in 1995 but who had not remained members continuously included Graham Hinchey, Susan Lent, Sarah Merry, Lynda Thorne (Labour) and Fenella Bowden (LD/Independent).
Leader of the Plaid Cymru group, Neil McEvoy, was the only party leader to remain in post immediately after the election. Leader of the Liberal Democrats, Elizabeth Clark lost her Cathays seat to Labour. Conservative group leader, David Walker, also stood down immediately after the elections. Council leader and leader of the Labour group prior to the election, Phil Bale, was replaced by Splott councillor Huw Thomas.
Cardiff Council Election 2017 :
| Party | Seats | Gains | Losses | Net gain/loss | Seats % | Votes % | Votes | +/− |
| Labour | 40 | 4 | 8 | -4 | 53.3 | 39.5 | 113,025 | +3.2 |
| Conservative | 20 | 13 | 0 | +13 | 26.6 | 25.5 | 72,920 | +7.6 |
| Liberal Democrats | 11 | 0 | 5 | -6 | 14.6 | 15.7 | 44,823 | -0.7 |
| Plaid Cymru | 3 | 1 | 1 | ±0.0 | 4.0 | 14.8 | 42,352 | +2.0 |
| Heath/Birchgrove Ind. | 1 | 0 | 0 | ±0.0 | 1.3 | 1.3 | 3,810 | -0.2 |
| Green | 0 | 0 | 0 | ±0.0 | 0.0 | 1.3 | 3,822 | -5.2 |
| UKIP | 0 | 0 | 0 | ±0.0 | 0.0 | 0.8 | 2,373 | +0.3 |
| Independent | 0 | 0 | 3 | -3 | 0.0 | 0.7 | 2,056 | N/A |
| TUSC | 0 | 0 | 0 | ±0.0 | 0.0 | 0.3 | 810 | -0.2 |

## Manifestos

The four largest political groups on Cardiff Council produced manifestos for the 2017 local election campaign. The Heath Independents committed to six pledges ahead of the election.
The South Wales Echo also interviewed the four largest political group leaders prior to election day.
Cardiff Labour Cardiff Conservatives Cardiff Liberal Democrats Plaid Cymru

## Ward results

* = sitting councillor in this ward prior to election

### Adamsdown (2 seats)

Adamsdown :
| Party | Party | Candidate | Votes | % | ±% |
| | Liberal Democrats | Nigel Howells* | 917 | 42.8 | +3.0 |
| | Labour | Owen Jones | 913 | 42.6 | +3.4 |
| | Labour | Gwenda Owen | 874 | | |
| | Liberal Democrats | John Dixon | 863 | | |
| | Conservative | Catherine Hemingway | 107 | 5.0 | +2.1 |
| | Plaid Cymru | Edward Mason | 105 | 4.9 | −0.4 |
| | Plaid Cymru | Esyllt Meurig | 100 | | |
| | Green | Mark Pritchard | 99 | 4.6 | −1.8 |
| | Conservative | Pauline Ambani | 97 | | |
| | TUSC | David Reid | 27 | 1.3 | −2.4 |
| Turnout | Turnout | Turnout | 2,144 | 36.1 | +7.4 |
| Registered electors | Registered electors | Registered electors | 5,946 | | |
| | Liberal Democrats hold | Liberal Democrats hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |

### Butetown (1 seat)

Butetown :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Saeed Ebrahim | 1,462 | 56.3 | +19.0 |
| | Plaid Cymru | Arreyeh-Naasir Aadan | 462 | 17.8 | −0.7 |
| | Conservative | Heather Ward | 356 | 13.7 | +2.8 |
| | Liberal Democrats | Michail Arapis | 237 | 9.1 | −23.2 |
| | Green | Neil Monteiro | 85 | 3.3 | −0.3 |
| Turnout | Turnout | Turnout | 2,597 | 34.9 | +4.6 |
| Registered electors | Registered electors | Registered electors | 7,438 | | |
| | Labour hold | Labour hold | Swing | | |

### Caerau (2 seats)

Caerau :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Peter Bradbury* | 1,340 | 51.1 | −7.2 |
| | Labour | Elaine Simmons* | 1,152 | | |
| | Plaid Cymru | Matthew Harvey | 881 | 33.6 | +23.5 |
| | Plaid Cymru | Jonathan Swan | 788 | | |
| | Conservative | Edna Huntley | 382 | 14.6 | +6.3 |
| | Conservative | Kolawole Ponnle | 277 | | |
| | Liberal Democrats | John Speake | 71 | 2.7 | −14.8 |
| | Liberal Democrats | Laura Speake | 61 | | |
| | TUSC | John Williams | 28 | 1.1 | N/A |
| Turnout | Turnout | Turnout | 2,623 | 33.4 | +4.1 |
| Registered electors | Registered electors | Registered electors | 7,859 | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |

### Canton (3 seats)

Canton :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Susan Elsmore* | 2,370 | 42.3 | −5.3 |
| | Labour | Stephen Cunnah | 2,314 | | |
| | Labour | Ramesh Patel* | 2,301 | | |
| | Plaid Cymru | Rhys ab Owen | 2,105 | 37.5 | +17.3 |
| | Plaid Cymru | Elin Tudur | 1,944 | | |
| | Plaid Cymru | John Lowes | 1,867 | | |
| | Conservative | David Davies | 666 | 11.9 | +1.1 |
| | Conservative | Barbara Davies | 649 | | |
| | Liberal Democrats | Morgan Griffith-David | 376 | 6.7 | +4.2 |
| | Conservative | Aileen Ashmore | 363 | | |
| | Green | Daniel McGowan | 363 | 6.5 | −9.1 |
| | Liberal Democrats | Peter Harding | 281 | | |
| | Liberal Democrats | Andrew Owen | 274 | | |
| Turnout | Turnout | Turnout | 5,607 | 51.3 | +10.0 |
| Registered electors | Registered electors | Registered electors | 10,929 | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |

### Cathays (4 seats)

Labour won all four seats. Ali Ahmed previously represented Butetown.
Cathays :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Sarah Merry* | 1,639 | 50.3 | +20.6 |
| | Labour | Ali Ahmed | 1,581 | | |
| | Labour | Chris Weaver* | 1,468 | | |
| | Labour | Norma Mackie | 1,458 | | |
| | Liberal Democrats | Elizabeth Clark* | 976 | 30.0 | +2.5 |
| | Liberal Democrats | Jack Satterthwaite | 843 | | |
| | Liberal Democrats | Thomas Pilliner | 834 | | |
| | Liberal Democrats | Paul Bailey | 809 | | |
| | Green | Helen Westhead | 416 | 12.8 | −8.7 |
| | Plaid Cymru | Daniel Bryant | 318 | 9.8 | +0.8 |
| | Conservative | Emily Higham | 308 | 9.4 | +1.7 |
| | Conservative | Simon Rees | 300 | | |
| | Conservative | Joseph Ventre | 297 | | |
| | Plaid Cymru | Peter Davies | 280 | | |
| | Plaid Cymru | Emily Cole | 274 | | |
| | Plaid Cymru | Emyr Gruffydd | 250 | | |
| | Conservative | Callum Sloper | 244 | | |
| | TUSC | Calum Glanville-Ellis | 81 | 2.5 | N/A |
| | TUSC | Sebastian Robyns-Landricombe | 63 | | |
| Turnout | Turnout | Turnout | 3,256 | 28.1 | +10.5 |
| Registered electors | Registered electors | Registered electors | 11,589 | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour gain from Liberal Democrats | Labour gain from Liberal Democrats | Swing | | |

### Creigiau & St. Fagans (1 seat)

Creigiau & St. Fagans :
| Party | Party | Candidate | Votes | % | ±% |
| | Conservative | Graham Thomas* | 948 | 47.0 | +9.8 |
| | Plaid Cymru | Wynford Owen | 644 | 31.9 | −4.8 |
| | Labour | John Yarrow | 334 | 16.6 | −2.3 |
| | Liberal Democrats | Peter Borrow | 91 | 4.5 | +1.4 |
| Turnout | Turnout | Turnout | 2,018 | 50.3 | +7.4 |
| Registered electors | Registered electors | Registered electors | 4,011 | | |
| | Conservative hold | Conservative hold | Swing | | |

### Cyncoed (3 seats)

Cyncoed :
| Party | Party | Candidate | Votes | % | ±% |
| | Liberal Democrats | Wendy Congreve | 1,874 | 39.9 | −4.8 |
| | Conservative | Kathryn Kelloway | 1,852 | 39.4 | +12.4 |
| | Liberal Democrats | Bablin Molik | 1,769 | | |
| | Conservative | Lee Canning | 1,737 | | |
| | Conservative | Lee Gonzalez | 1,733 | | |
| | Liberal Democrats | Jayne Lutwyche | 1,727 | | |
| | Labour | Ian Bounds | 996 | 21.2 | +4.3 |
| | Labour | Alvin Shum | 757 | | |
| | Labour | Louise Thomas | 710 | | |
| | Green | Timothy Jones | 415 | 8.8 | +3.4 |
| Turnout | Turnout | Turnout | 4,696 | 56.3 | +13.0 |
| Registered electors | Registered electors | Registered electors | 8,344 | | |
| | Liberal Democrats hold | Liberal Democrats hold | Swing | | |
| | Conservative gain from Liberal Democrats | Conservative gain from Liberal Democrats | Swing | | |
| | Liberal Democrats hold | Liberal Democrats hold | Swing | | |

### Ely (3 seats)

Ely :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Irene Goddard* | 1,472 | 51.4 | −4.9 |
| | Labour | James Murphy* | 1,380 | | |
| | Labour | Russell Goodway* | 1,269 | | |
| | Plaid Cymru | Lowri Brown | 786 | 27.4 | |
| | Plaid Cymru | Christopher Newth | 745 | | |
| | Plaid Cymru | Andrea Gibson | 622 | | |
| | Conservative | Owen Robbins | 509 | 17.8 | +9.4 |
| | Conservative | Leighton McEwan | 507 | | |
| | Liberal Democrats | Linda Amoss | 267 | 9.3 | +5.9 |
| | Liberal Democrats | Michael Rees | 97 | | |
| | Liberal Democrats | Matthew Hemsley | 84 | | |
| | TUSC | Richard Edwards | 64 | 2.2 | N/A |
| Turnout | Turnout | Turnout | 2,864 | 29.5 | +0.8 |
| Registered electors | Registered electors | Registered electors | 9,710 | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |

### Fairwater (3 seats)

Fairwater :
| Party | Party | Candidate | Votes | % | ±% |
| | Plaid Cymru | Neil McEvoy* | 2,414 | 56.3 | +13.5 |
| | Plaid Cymru | Lisa Ford* | 2,349 | | |
| | Plaid Cymru | Keith Parry | 2,017 | | |
| | Labour | Paul Mitchell* | 1,160 | 27.1 | −9.7 |
| | Labour | John Bayliss | 1,101 | | |
| | Labour | Irene Humphreys | 1,039 | | |
| | Conservative | John Williams | 535 | 12.5 | −1.5 |
| | Conservative | Alan Hill | 533 | | |
| | Conservative | Ronald Michaelis | 450 | | |
| | Liberal Democrats | Eleri Randerson | 203 | 4.7 | +2.9 |
| | Green | Phillip Croxall | 190 | 4.4 | −0.2 |
| | Liberal Democrats | Mark Rees | 92 | | |
| | Liberal Democrats | Oliver Townsend | 92 | | |
| | TUSC | Ross Saunders | 73 | 1.7 | N/A |
| Turnout | Turnout | Turnout | 4,287 | 44.5 | +3.7 |
| Registered electors | Registered electors | Registered electors | 9,639 | | |
| | Plaid Cymru hold | Plaid Cymru hold | Swing | | |
| | Plaid Cymru hold | Plaid Cymru hold | Swing | | |
| | Plaid Cymru gain from Labour | Plaid Cymru gain from Labour | Swing | | |

### Gabalfa (2 seats)

Gabalfa :
| Party | Party | Candidate | Votes | % | ±% |
| | Liberal Democrats | Rhys Taylor | 922 | 44.1 | −7.0 |
| | Liberal Democrats | Ashley Wood | 920 | | |
| | Labour | Joycelyn Coughlin | 818 | 39.1 | +11.8 |
| | Labour | Matthew Hexter | 719 | | |
| | Plaid Cymru | Sioned Treharne | 178 | 8.5 | +1.7 |
| | Plaid Cymru | Gareth Kennard-Holden | 169 | | |
| | Conservative | Niall Piercy | 165 | 7.9 | +1.6 |
| | Conservative | Margaret Evans | 149 | | |
| Turnout | Turnout | Turnout | 2,091 | 35.7 | +10.1 |
| Registered electors | Registered electors | Registered electors | 5,863 | | |
| | Liberal Democrats hold | Liberal Democrats hold | Swing | | |
| | Liberal Democrats hold | Liberal Democrats hold | Swing | | |

### Grangetown (3 seats)

Plaid Cymru lost a seat they had gained in a by-election in November 2016.
Grangetown :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Ashley Lister | 2,199 | 44.7 | +4.5 |
| | Labour | Abdul Sattar | 2,198 | | |
| | Labour | Lynda Thorne* | 2,121 | | |
| | Plaid Cymru | Tariq Awan* | 1,758 | 35.7 | +2.2 |
| | Plaid Cymru | David Vaughan | 1,438 | | |
| | Plaid Cymru | Elizabeth Musa | 1,310 | | |
| | Conservative | Michael Bryan | 671 | 13.6 | +6.8 |
| | Conservative | Jenna Malvisi | 604 | | |
| | Conservative | Andrew Pike | 580 | | |
| | Liberal Democrats | Jahangir Hussain | 350 | 7.1 | −4.1 |
| | Green | Simon Morton | 272 | 5.5 | +0.7 |
| | Liberal Democrats | Malcolm Evans | 232 | | |
| | Liberal Democrats | Muhammad Latif | 194 | | |
| | TUSC | Lianne Francis | 65 | 1.3 | N/A |
| | TUSC | Joseph Fathallah | 46 | | |
| Turnout | Turnout | Turnout | 4,924 | 37.3 | +0.5 |
| Registered electors | Registered electors | Registered electors | 13,215 | | |
| | Labour gain from Plaid Cymru | Labour gain from Plaid Cymru | Swing | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |

### Heath (3 seats)

The independent candidates stood again as Heath & Birchgrove Independents.
Heath :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Graham Hinchey* | 2,010 | 38.2 | +10.5 |
| | Conservative | Lyn Hudson* | 1,830 | 34.8 | +9.9 |
| | Heath Independent | Fenella Bowden* | 1,737 | 33.0 | +3.7 |
| | Labour | Penelope Owen | 1,704 | | |
| | Labour | Michael Ash-Edwards | 1,667 | | |
| | Conservative | Peter Hudson | 1,602 | | |
| | Conservative | Michelle Michaelis | 1,477 | | |
| | Heath Independent | Steven Bowden | 1,143 | | |
| | Heath Independent | Jane Reece | 930 | | |
| | Plaid Cymru | Helen Smith | 410 | 7.8 | +1.5 |
| | Green | Christopher Von Ruhland | 251 | 4.8 | −0.1 |
| | Liberal Democrats | Peter Randerson | 244 | 4.6 | −2.2 |
| | Liberal Democrats | Wijdan Said | 163 | | |
| | Liberal Democrats | Daniel Schmeising-Barnes | 119 | | |
| Turnout | Turnout | Turnout | 5,264 | 55.1 | +11.0 |
| Registered electors | Registered electors | Registered electors | 9,490 | | |
| | Labour hold | Labour hold | Swing | | |
| | Conservative hold | Conservative hold | Swing | | |
| | Heath Independent hold | Heath Independent hold | Swing | | |

### Lisvane (1 seat)

Lisvane :
| Party | Party | Candidate | Votes | % | ±% |
| | Conservative | David Walker* | 1,232 | 75.6 | +2.5 |
| | Labour | Jessica Taylor | 219 | 13.4 | −3.5 |
| | Liberal Democrats | Myfanwy Price | 130 | 8.0 | +3.5 |
| | Plaid Cymru | Anthony Couch | 49 | 3.0 | −0.6 |
| Turnout | Turnout | Turnout | 1,635 | 56.3 | +8.6 |
| Registered electors | Registered electors | Registered electors | 2,903 | | |
| | Conservative hold | Conservative hold | Swing | | |

### Llandaff (2 seats)

Llandaff :
| Party | Party | Candidate | Votes | % | ±% |
| | Conservative | Sean Driscoll | 1,370 | 35.7 | +13.0 |
| | Conservative | Philipa Hill-John | 1,169 | | |
| | Plaid Cymru | Judith Allan | 1,087 | 28.3 | +18.9 |
| | Plaid Cymru | Angharad Llwyd | 1,017 | | |
| | Labour Co-op | Catherine Antippas | 944 | 24.6 | −3.1 |
| | Labour Co-op | Keith Jackson | 853 | | |
| | Independent | Mike Baker | 349 | 9.1 | +5.9 |
| | Liberal Democrats | Alexander Meredith | 270 | 7.0 | −24.5 |
| | Liberal Democrats | Christine Lutwyche | 259 | | |
| | Green | Benjamin Smith | 130 | 3.4 | −0.3 |
| Turnout | Turnout | Turnout | 3,836 | 55.6 | +9.9 |
| Registered electors | Registered electors | Registered electors | 6,903 | | |
| | Conservative gain from Liberal Democrats | Conservative gain from Liberal Democrats | Swing | | |
| | Conservative gain from Liberal Democrats | Conservative gain from Liberal Democrats | Swing | | |

### Llandaff North (2 seats)

Llandaff North :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Dilwar Ali* | 1,400 | 55.2 | +7.8 |
| | Labour | Jennifer Burke-Davies | 1,349 | | |
| | Conservative | Elizabeth Morgan | 531 | 20.9 | +15.0 |
| | Plaid Cymru | Steffan Webb | 439 | 17.3 | +11.9 |
| | Conservative | Diana Abuzaid | 422 | | |
| | Plaid Cymru | Gillian Griffin | 394 | | |
| | Liberal Democrats | Elinor Dixon | 171 | 6.7 | −7.6 |
| | Liberal Democrats | Matthew Dixon | 104 | | |
| | Independent | Jonathan Bishop | 56 | 2.2 | −21.0 |
| | TUSC | Gwilym Evans | 39 | 1.5 | N/A |
| Turnout | Turnout | Turnout | 2,537 | 43.9 | +3.3 |
| Registered electors | Registered electors | Registered electors | 5,782 | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |

### Llanishen (4 seats)

Llanishen :
| Party | Party | Candidate | Votes | % | ±% |
| | Conservative | Shaun Jenkins | 2,890 | 43.8 | +9.0 |
| | Labour Co-op | Phillip Bale* | 2,805 | 42.5 | +1.5 |
| | Conservative | John Lancaster | 2,804 | | |
| | Conservative | Thomas Parkhill | 2,528 | | |
| | Labour Co-op | Garry Hunt* | 2,523 | | |
| | Conservative | Daniel Ruff | 2,383 | | |
| | Labour Co-op | Jacqueline Jones | 2,282 | | |
| | Labour Co-op | Masudah Ali | 2,254 | | |
| | Plaid Cymru | Lona Roberts | 666 | 10.1 | +2.9 |
| | Liberal Democrats | Karl Mudd | 593 | 9.0 | +4.1 |
| | Liberal Democrats | Sarah Bridges | 575 | | |
| | Liberal Democrats | Anabella Rees | 543 | | |
| | Green | Michael Cope | 528 | 8.0 | +2.6 |
| | Liberal Democrats | Robert Godfrey | 449 | | |
| | UKIP | Lawrence Gwynn | 323 | 4.9 | −1.9 |
| | UKIP | Crispin John | 240 | | |
| | UKIP | Vivian Evans | 220 | | |
| | UKIP | John Hill | 180 | | |
| Turnout | Turnout | Turnout | 6,594 | 50.0 | +12.9 |
| Registered electors | Registered electors | Registered electors | 13,175 | | |
| | Conservative hold | Conservative hold | Swing | | |
| | Labour Co-op hold | Labour Co-op hold | Swing | | |
| | Conservative gain from Labour Co-op | Conservative gain from Labour Co-op | Swing | | |
| | Conservative gain from Labour Co-op | Conservative gain from Labour Co-op | Swing | | |

### Llanrumney (3 seats)

Llanrumney :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Keith Jones* | 1,269 | 56.1 | −11.9 |
| | Labour | Heather Joyce* | 1,258 | | |
| | Labour | Lee Bridgeman | 1,195 | | |
| | Conservative | Giles Cross | 551 | 24.4 | +10.0 |
| | Conservative | Maria Hill | 484 | | |
| | Conservative | Aled Jones-Pritchard | 432 | | |
| | UKIP | Gary Oldfield | 255 | 11.3 | N/A |
| | UKIP | Teresa Davies | 207 | | |
| | Plaid Cymru | Trevor Keane | 200 | 8.8 | |
| | UKIP | Robert Lewis | 151 | | |
| | Liberal Democrats | Wayne Street | 126 | 5.6 | +2.8 |
| | Plaid Cymru | Colin Lewis | 114 | | |
| | Plaid Cymru | Ceri Ann Tegwyn | 96 | | |
| | Liberal Democrats | Jonathan Bird | 77 | | |
| | Liberal Democrats | Patricia Rees | 73 | | |
| Turnout | Turnout | Turnout | 2,260 | 29.2 | −0.4 |
| Registered electors | Registered electors | Registered electors | 7,744 | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |

### Pentwyn (4 seats)

Pentwyn :
| Party | Party | Candidate | Votes | % | ±% |
| | Liberal Democrats | Joseph Carter* | 1,822 | 45.6 | +1.8 |
| | Liberal Democrats | Emma-Janey Sandry | 1,627 | | |
| | Liberal Democrats | Daniel Naughton | 1,548 | | |
| | Labour | Frank Jacobsen | 1,411 | 35.3 | −2.4 |
| | Labour | Michael Fogg | 1,409 | | |
| | Liberal Democrats | Jonathan Shimmin | 1,346 | | |
| | Labour | Samsunear Ali | 1,325 | | |
| | Labour | Margaret Thomas | 1,119 | | |
| | Conservative | Kathleen Fisher | 663 | 16.6 | +9.7 |
| | Conservative | Munawar Mughal | 623 | | |
| | Conservative | Nathan Watson | 559 | | |
| | Conservative | Jack Sellers | 530 | | |
| | Plaid Cymru | Andrew Morgan | 236 | 5.9 | +1.3 |
| | Plaid Cymru | Pauline Morgan | 228 | | |
| | Plaid Cymru | Martin Pollard | 202 | | |
| | Plaid Cymru | Huw Hughes | 172 | | |
| | TUSC | Steve Williams | 98 | 2.5 | N/A |
| Turnout | Turnout | Turnout | 3,994 | 37.6 | +6.6 |
| Registered electors | Registered electors | Registered electors | 10,623 | | |
| | Liberal Democrats hold | Liberal Democrats hold | Swing | | |
| | Liberal Democrats hold | Liberal Democrats hold | Swing | | |
| | Liberal Democrats hold | Liberal Democrats hold | Swing | | |
| | Labour gain from Liberal Democrats | Labour gain from Liberal Democrats | Swing | | |

### Pentyrch (1 seat)

Pentyrch :
| Party | Party | Candidate | Votes | % | ±% |
| | Conservative | Gavin Hill-John* | 733 | 47.4 | −7.0 |
| | Plaid Cymru | Hywel Wigley | 518 | 33.5 | +21.4 |
| | Labour | Richard Hughes | 234 | 15.1 | −14.0 |
| | Liberal Democrats | Caroline Morris | 63 | 4.1 | +2.5 |
| Turnout | Turnout | Turnout | 1,548 | 55.4 | +3.1 |
| Registered electors | Registered electors | Registered electors | 2,790 | | |
| | Conservative hold | Conservative hold | Swing | | |

### Penylan (3 seats)

Penylan :
| Party | Party | Candidate | Votes | % | ±% |
| | Liberal Democrats | Joe Boyle* | 2,519 | 25.6 | −22.5 |
| | Liberal Democrats | Rodney Berman | 2,195 | | |
| | Liberal Democrats | Asghar Ali | 2,078 | | |
| | Labour | Louise Westlake | 1,317 | 13.4 | −12.6 |
| | Labour | Bethan Proctor | 1,231 | | |
| | Labour | Sajad Nazari | 1,044 | | |
| | Conservative | Sara Canning | 855 | 8.7 | −1.2 |
| | Conservative | Rhys Gadsby | 743 | | |
| | Conservative | Sophie Tyrill | 723 | | |
| | Plaid Cymru | Nicholas Carter | 543 | 5.5 | −2.2 |
| | Green | Huw Burrows | 495 | 5.0 | −3,3 |
| | Independent | Leigh Worrall | 316 | 3.2 | N/A |
| Turnout | Turnout | Turnout | 9,897 | 50.1 | +8.6 |
| Registered electors | Registered electors | Registered electors | 9,897 | | |
| | Liberal Democrats hold | Liberal Democrats hold | Swing | | |
| | Liberal Democrats hold | Liberal Democrats hold | Swing | | |
| | Liberal Democrats hold | Liberal Democrats hold | Swing | | |

### Plasnewydd (4 seats)

The Liberal Democrats lost a seat they had gained in a by-election.
Plasnewydd :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Susan Lent* | 2,408 | 52.2 | +15.4 |
| | Labour | Daniel De'ath* | 2,311 | | |
| | Labour | Mary McGarry* | 2,159 | | |
| | Labour | Peter Wong | 2,055 | | |
| | Liberal Democrats | Manzoor Ahmed | 1,545 | 33.5 | +0.8 |
| | Liberal Democrats | Robin Rea* | 1,531 | | |
| | Liberal Democrats | Cadan Ap Tomos | 1,410 | | |
| | Liberal Democrats | Richard Jerrett | 1,300 | | |
| | Green | Daniel Ward | 560 | 12.1 | −0.7 |
| | Plaid Cymru | Mariana Montiel | 371 | 8.0 | −4.1 |
| | Plaid Cymru | Angharad Lewis | 346 | | |
| | Plaid Cymru | Matthew Lloyd | 331 | | |
| | Conservative | Enid Harries | 297 | 6.4 | +0.8 |
| | Conservative | Lucy Golding | 289 | | |
| | Conservative | Rowland Hemingway | 252 | | |
| | Conservative | Marc Gonzalez | 223 | | |
| Turnout | Turnout | Turnout | 4,611 | 38.9 | +13.3 |
| Registered electors | Registered electors | Registered electors | 11,851 | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour gain from Liberal Democrats | Labour gain from Liberal Democrats | Swing | | |

### Pontprennau and Old St. Mellons (2 seats)

Pontprennau & Old St. Mellons :
| Party | Party | Candidate | Votes | % | ±% |
| | Conservative | Dianne Rees* | 1,851 | 57.6 | +21.7 |
| | Conservative | Joel Williams | 1,760 | | |
| | Labour | Georgina Phillips* | 1,134 | 35.3 | −13.7 |
| | Labour | Shane Andrews | 891 | | |
| | Plaid Cymru | David Davies | 200 | 6.2 | −1.4 |
| | Liberal Democrats | Mary Naughton | 176 | 5.5 | +0.3 |
| | Liberal Democrats | David Keigwin | 167 | | |
| Turnout | Turnout | Turnout | 3,216 | 44.5 | +10.4 |
| Registered electors | Registered electors | Registered electors | 7,221 | | |
| | Conservative hold | Conservative hold | Swing | | |
| | Conservative gain from Labour | Conservative gain from Labour | Swing | | |

### Radyr (1 seat)

Radyr :
| Party | Party | Candidate | Votes | % | ±% |
| | Conservative | Roderick McKerlich* | 1,193 | 43.1 | −10.2 |
| | Plaid Cymru | Michael Deem | 999 | 36.1 | +28.9 |
| | Labour | Mohammed Islam | 358 | 12.9 | −19.5 |
| | Liberal Democrats | Hilary Borrow | 218 | 7.9 | +3.7 |
| Turnout | Turnout | Turnout | 2,772 | 53.4 | +7.6 |
| Registered electors | Registered electors | Registered electors | 5,195 | | |
| | Conservative hold | Conservative hold | Swing | | |

### Rhiwbina (3 seats)

Two of the three Independent councillors elected in 2012 rejoined the Conservatives in 2015 and the third Independent was defeated by a Conservative in this election.
Rhiwbina :
| Party | Party | Candidate | Votes | % | ±% |
| | Conservative | Jayne Cowan* | 3,595 | 63.0 | +51.4 |
| | Conservative | Adrian Robson* | 3,230 | | |
| | Conservative | Oliver Owen | 2,565 | | |
| | Independent | Eleanor Sanders* | 1,565 | 27.4 | −41.5 |
| | Labour | Meurig Williams | 1,524 | 26.7 | +15.3 |
| | Labour | Clare Jones | 1,500 | | |
| | Labour | Alan Golding | 1,159 | | |
| | Plaid Cymru | Stephen Lake | 402 | 7.0 | +2.9 |
| | Liberal Democrats | Jonathan Land | 371 | 6.5 | +5.1 |
| | Liberal Democrats | Philippa Willmot | 198 | | |
| | Liberal Democrats | Dale Hargrove | 170 | | |
| Turnout | Turnout | Turnout | 5,710 | 61.9 | +7.8 |
| Registered electors | Registered electors | Registered electors | 9,219 | | |
| | Conservative gain from Independent | Conservative gain from Independent | Swing | | |
| | Conservative gain from Independent | Conservative gain from Independent | Swing | | |
| | Conservative gain from Independent | Conservative gain from Independent | Swing | | |

### Riverside (3 seats)

Riverside :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Iona Gordon* | 2,278 | 53.2 | +6.5 |
| | Labour | Caro Wild* | 2,050 | | |
| | Labour | Kanaya Singh | 1,941 | | |
| | Plaid Cymru | Ruksana Begum | 1,126 | 26.3 | −4.8 |
| | Plaid Cymru | Richard Williams | 1,054 | | |
| | Plaid Cymru | Mubashar Sawati | 959 | | |
| | Conservative | Jason Griffin | 510 | 11.9 | +4.2 |
| | Conservative | Leon Bancroft | 464 | | |
| | Conservative | Gaener Davies | 415 | | |
| | Liberal Democrats | Alun Williams | 401 | 9.3 | +5.5 |
| | Green | Kenneth Barker | 400 | 9.3 | +1.4 |
| | Liberal Democrats | Molik Ahmed | 255 | | |
| | Liberal Democrats | Callum Littlemore | 218 | | |
| | Independent | Ahmed Alsisi | 86 | 2.0 | N/A |
| Turnout | Turnout | Turnout | 4,283 | 44.6 | +9.4 |
| Registered electors | Registered electors | Registered electors | 9,595 | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |

### Rumney (2 seats)

Rumney :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Robert Derbyshire* | 1,030 | 46.3 | −2.1 |
| | Labour | Jacqueline Parry* | 1,017 | | |
| | Conservative | Gareth Lloyd | 871 | 39.2 | +11.5 |
| | Conservative | James Roach | 684 | | |
| | UKIP | John Ireland | 221 | 9.9 | N/A |
| | UKIP | Wayne Cashin | 204 | | |
| | Liberal Democrats | Peter Amoss | 104 | 4.7 | +2.6 |
| | Liberal Democrats | Hugh Minor | 91 | | |
| | TUSC | Emily Stables | 39 | 1.8 | −0.1 |
| Turnout | Turnout | Turnout | 2,222 | 33.5 | +3.6 |
| Registered electors | Registered electors | Registered electors | 6,629 | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |

### Splott (3 seats)

Splott :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Elizabeth Henshaw | 1,685 | 55.3 | +7.4 |
| | Labour | Huw Thomas* | 1,658 | | |
| | Labour | Edward Stubbs* | 1,656 | | |
| | Conservative | Robert Lawrence | 416 | 13.6 | +9.3 |
| | Liberal Democrats | Zara England | 413 | 13.5 | −16.5 |
| | Conservative | Gail Morgan | 401 | | |
| | Plaid Cymru | Stephanie Greedy | 398 | 13.1 | +6.0 |
| | Plaid Cymru | Rhys Cisuelo | 385 | | |
| | Conservative | Vivienne Ward | 373 | | |
| | Liberal Democrats | Philip Dore | 356 | | |
| | Liberal Democrats | James Bear | 322 | | |
| | Plaid Cymru | Favour Egbekayi | 292 | | |
| | Green | Samuel Patterson | 170 | 5.6 | −1.1 |
| | TUSC | Katrine Williams | 70 | 2.3 | −0.7 |
| | TUSC | David Bartlett | 67 | | |
| | TUSC | Jioao Felix | 50 | | |
| Turnout | Turnout | Turnout | 3,047 | 33.1 | +3.0 |
| Registered electors | Registered electors | Registered electors | 9,211 | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |

### Trowbridge (3 seats)

Ralph Cook was elected as a Labour candidate in 2012.
Trowbridge :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Christopher Lay | 1,239 | 42.0 | −16.5 |
| | Labour | Mary Bowen-Thomson | 1,145 | | |
| | Labour | Michael Costas-Michael* | 1,061 | | |
| | Liberal Democrats | Ralph Cook* | 741 | 25.1 | +11.1 |
| | Conservative | Richard Foley | 692 | 23.4 | +10.0 |
| | UKIP | Thomas Harrison | 620 | 21.0 | N/A |
| | Conservative | Janine Jones-Pritchard | 584 | | |
| | Liberal Democrats | Jade Smith | 540 | | |
| | Liberal Democrats | Russell Tysoe | 479 | | |
| | Conservative | Thomas Hall | 249 | | |
| | Plaid Cymru | Cerith Griffiths | 235 | 8.0 | −2.5 |
| | Plaid Cymru | Catrin Davies | 211 | | |
| | Plaid Cymru | Patrick Daley | 196 | | |
| | UKIP | Richard Lewis | 193 | | |
| | UKIP | Lawrence Lado | 172 | | |
| Turnout | Turnout | Turnout | 2,951 | 26.6 | +4.6 |
| Registered electors | Registered electors | Registered electors | 11,089 | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |

### Whitchurch and Tongwynlais (4 seats)

Whitchurch & Tongwynlais :
| Party | Party | Candidate | Votes | % | ±% |
| | Conservative | Michael Phillips | 2,905 | 41.5 | +0.3 |
| | Conservative | Timothy Davies | 2,900 | | |
| | Conservative | Linda Morgan | 2,856 | | |
| | Conservative | Michael Jones-Pritchard | 2,753 | | |
| | Labour | Hannah Buckingham | 2,700 | 38.6 | −2.6 |
| | Labour | Marc Palmer | 2,488 | | |
| | Labour | Norman Gettings | 2,461 | | |
| | Labour | Maliika Kaaba | 2,234 | | |
| | Plaid Cymru | Mali Rowlands | 962 | 13.8 | +3.4 |
| | Plaid Cymru | Daniel Allsobrook | 951 | | |
| | Plaid Cymru | Glenys Evans | 885 | | |
| | Plaid Cymru | Julia Burns | 856 | | |
| | Liberal Democrats | Lynne Barrett-Lee | 540 | 7.7 | +3.4 |
| | Liberal Democrats | Dominic Eggbeer | 516 | | |
| | Liberal Democrats | Geraldine Nichols | 365 | | |
| | Liberal Democrats | Usman Bukhari | 312 | | |
| Turnout | Turnout | Turnout | 6,994 | 55.6 | +13.1 |
| Registered electors | Registered electors | Registered electors | 12,589 | | |
| | Conservative gain from Labour | Conservative gain from Labour | Swing | | |
| | Conservative gain from Labour | Conservative gain from Labour | Swing | | |
| | Conservative gain from Labour | Conservative gain from Labour | Swing | | |
| | Conservative gain from Labour | Conservative gain from Labour | Swing | | |

## By-elections between 2017 and 2022
### Ely

Ely by-election, 21 February 2019 :
| Party | Party | Candidate | Votes | % | ±% |
| | Plaid Cymru | Andrea Gibson | 831 | 43.1 | +17.8 |
| | Labour | Irene Humphreys | 779 | 40.4 | −7.1 |
| | Conservative | Gavin Brookman | 271 | 14.1 | −2.4 |
| | Liberal Democrats | Richard Jerrett | 46 | 2.4 | −6.2 |
| Majority | Majority | Majority | 52 | 2.7 | N/A |
| Turnout | Turnout | Turnout | 1,927 | 20.3 | −9.2 |
| Registered electors | Registered electors | Registered electors | 9,482 | | |
| | Plaid Cymru gain from Labour | Plaid Cymru gain from Labour | Swing | | |
The by-election was caused by the death of Labour councillor Jim Murphy on 1 December 2018.

### Cyncoed

Cyncoed by-election 16 July 2019 :
| Party | Party | Candidate | Votes | % | ±% |
| | Liberal Democrats | Robert Hopkins | 1,920 | 55.3 | +18.9 |
| | Conservative | Peter Hudson | 838 | 24.1 | −11.9 |
| | Labour | Madhu Khanna-Davies | 560 | 16.1 | −3.3 |
| | Plaid Cymru | Morgan Rogers | 152 | 4.4 | N/A |
| Majority | Majority | Majority | 1,082 | 31.1 | +13.4 |
| Turnout | Turnout | Turnout | 3,484 | 42.1 | −1.2 |
| Registered electors | Registered electors | Registered electors | 8,268 | | |
| | Liberal Democrats hold | Liberal Democrats hold | Swing | +15.4 | |
The by-election was caused by the death of Liberal Democrat Councillor Wendy Congreve on 14 May 2019.

### Whitchurch & Tongwynlais

Whitchurch & Tongwynlais by-election 3 October 2019 :
| Party | Party | Candidate | Votes | % | ±% |
| | Conservative | Mia Rees | 1,544 | 36.4 | −4.5 |
| | Labour | Marc Palmer | 1,190 | 28.0 | −10.0 |
| | Plaid Cymru | Dan Allsobrook | 674 | 15.9 | +2.3 |
| | Liberal Democrats | Sian Donne | 588 | 13.9 | +6.3 |
| | Green | David Griffin | 248 | 5.8 | −2.3 |
| Majority | Majority | Majority | 354 | 8.4 | +3.2 |
| Turnout | Turnout | Turnout | 4,244 | 33.7 | −11.7 |
| Registered electors | Registered electors | Registered electors | 12,589 | | |
| | Conservative hold | Conservative hold | Swing | +2.7 | |
The by-election was caused by the death of Conservative councillor Tim Davies on 4 June 2019.

### Llanishen

Llanishen by-election 21 November 2019 :
| Party | Party | Candidate | Votes | % | ±% |
| | Conservative | Siân-Elin Melbourne | 1,566 | 43.4 | +6.3 |
| | Labour | Garry Hunt | 1,254 | 34.7 | −1.2 |
| | Liberal Democrats | Will Ogborne | 387 | 10.7 | +3.1 |
| | Plaid Cymru | Chris Haines | 209 | 5.8 | −2.7 |
| | Green | Michael Cope | 138 | 3.8 | −3.0 |
| | Independent | Lawrence Gwynn | 59 | 1.6 | N/A |
| Majority | Majority | Majority | 312 | 8.7 | N/A |
| Turnout | Turnout | Turnout | 3,613 | 27.3 | −18.9 |
| Registered electors | Registered electors | Registered electors | 13,227 | | |
| | Conservative gain from Labour | Conservative gain from Labour | Swing | | |
The by-election was caused by the resignation of Labour councillor Phil Bale in Autumn 2019.

### Heath

Heath by-election 11 November 2021 :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Julie Sangani | 1,729 | 47.1 | +16.1 |
| | Conservative | Peter Hudson | 1,128 | 30.8 | +2.5 |
| | Liberal Democrats | Kathryn Lock | 561 | 15.3 | +11.5 |
| | Plaid Cymru | Gwennol Haf | 250 | 6.8 | +0.5 |
| Majority | Majority | Majority | 601 | 16.3 | N/A |
| Turnout | Turnout | Turnout | 3,668 | 38.4 | −16.6 |
| Registered electors | Registered electors | Registered electors | 9,552 | | |
| | Labour gain from Independent | Labour gain from Independent | Swing | | |
The by-election was caused by the resignation of Councillor Fenella Bowden, who stepped down for health reasons in September 2021.

## Other changes between 2017 and 2021

Neil McEvoy was expelled by Plaid Cymru for 18 months on 19 March 2018, and then sat under the label "Fairwater Cardiff West". In February 2020 he formed the Welsh National Party, later to become "Propel" along with 3 other former Plaid Cymru councillors. One of those, Ely councillor Andrea Gibson, later left the party and sat as an Independent.
An Electoral Review undertaken by the Local Democracy and Boundary Commission for Wales recommended an increase to the total number of council seats in Cardiff from 75 to 79 ahead of the next election. The changes were accepted with only slight modification, to take effect from the 2022 council election.