# 2022 Cardiff Council election

The 2022 Cardiff Council election took place on 5 May 2022 to elect 79 members to Cardiff Council. On the same day, elections were held to the other 21 local authorities and to community councils in Wales as part of the 2022 Welsh local elections.
The 2022 election had been postponed from 2021, and was contested under new ward boundaries, which also increased the number of seats from 75 to 79. The next election will take place in 2027, following an increase in the council term from four years to five years.
At the election, Labour maintained its overall control of the council, increasing its number of seats from 40 at the last election to 55. The Conservatives and Liberal Democrats lost ten seats and one seat respectively, to a total of 11 and 10, while Common Ground, an electoral pact between Plaid Cymru and Wales Green Party, won two seats. Propel won one seat.

## Background
### Postponement

Council elections in Wales were originally scheduled for May 2021, but were delayed to avoid a conflict with the 2021 Senedd election.
The length of council term was also increased from four years to five years to avoid future clashes, meaning that, after 2022, the next council election is expected in 2027.

### Ward changes

The number of councillors increased from 75 to 79 at the 2022 election, with a number of ward changes.
In October 2021, Cardiff Council accepted a number of ward change proposals for the next election made by the Local Democracy and Boundary Commission for Wales, with only slight modification. The changes gave a better parity of representation. Twenty-one wards remained unchanged. Of the other wards:
* Butetown increased from one to three councillors.
* Creigiau/St Fagans merged with the Pentyrch ward and was renamed "Pentyrch and St Fagans", with a total increase in councillors from two to three.
* Grangetown increased from three to four councillors.
* Lisvane was renamed "Lisvane and Thornhill", with the addition of Thornhill from the neighbouring Llanishen ward, and increased from one to three councillors.
* Llanishen decreased from four to two councillors following the transfer of Thornhill to Lisvane.
* Pentwyn decreased from four to three councillors.
* Pontprennau/Old St Mellons was renamed "Pontprennau and Old St Mellons".
* Radyr increased from one to two councillors.

### Council term and campaign

The Labour group have been in control of Cardiff Council since 2012.
In 2019, three by-elections (Ely, February 2019; Cyncoed, July 2019; and Whitchurch & Tongwynlais, October 2019) were called following the deaths of the sitting councillors. Plaid Cymru gained the Ely seat from Labour, while the Liberal Democrats and Conservatives held their seats in the other by-elections.
In March 2018, Cllr Neil McEvoy was expelled from Plaid Cymru after allegedly disruptive behaviour at the party's 2017 spring conference. Following the controversy, in October 2019, the three remaining Plaid Cymru councillors resigned their whips, and formed an independent group with McEvoy. McEvoy and Cllrs Keith Parry and Lisa Ford would later join McEvoy's new party Propel, while Cllr Andrea Gibson, who won the Ely by-election, was elected for Common Ground in Pentyrch and St Fagans at the 2022 election.
In November 2019, the Conservatives gained a seat in Llanishen following a by-election triggered by the resignation of the sitting Labour councillor. In November 2021, Labour won a by-election in Heath following the resignation of an independent councillor.
The Welsh Cladiators, a residents group campaigning against fire defective buildings, hoped to stand in the Butetown ward, but ultimately did not.

### Common Ground Alliance

In September 2021, Plaid Cymru and the Green Party announced an electoral pact which would see them fielding a joint slate of candidates in Cardiff. Neither party had sitting councillors: Plaid Cymru's councillors elected in 2017 had been either expelled or had quit the party. In the election, the two parties fielded a common slate of candidates, known as the Common Ground Alliance. Of the 70 Common Ground Alliance candidates, 46 were from Plaid Cymru with the remaining 24 from the Green Party. The alliance's campaign was formally launched on 24 April 2022.
In the election, Common Ground won 17% of votes across the city, coming third behind Labour and the Conservatives. They won two seats, both in the Pentyrch and St Fagans ward, while the Liberal Democrats returned 10 councillors on a smaller share of the vote.
The Alliance's elected councillors are Andrea Gibson and Rhys Owain Livesey.

## Candidates by party

A total of 358 candidates stood for the 79 seats on the council, an average of 4.5 candidates per seat. Eleven parties or alliances stood candidates, plus two independent candidates.
Both the Labour and the Conservatives stood the full 79 candidates. The Common Ground Alliance and the Liberal Democrats stood in all 28 wards, while Propel stood in 21 wards (75%) and the Trade Union and Socialist Coalition stood in 15 wards (54%).
| Party | Party | Number of candidates | Number of wards |
| | Conservative | 79 | 28 |
| | Labour | 79 | 28 |
| | Common Ground Alliance (Plaid Cymru and Wales Green Party) | 70 | 28 |
| | Liberal Democrats | 67 | 28 |
| | Propel | 38 | 21 |
| | TUSC | 15 | 15 |
| | Sovereign | 4 | 4 |
| | Independent | 2 | 1 |
| | Communist | 1 | 1 |
| | Freedom Alliance | 1 | 1 |
| | Volt | 1 | 1 |
| | Women's Equality | 1 | 1 |
| Total | Total | 358 / 79 | 28 |

## Overview of results

2022 Cardiff Council election :
| Party | Seats | Gains | Losses | Net gain/loss | Seats % | Votes % | Votes | +/− |
| Labour | 55 | 16 | 0 | 16 | 69.6 | 44.8 | 49,155 | 9.6 |
| Conservative | 11 | 0 | 10 | 10 | 13.9 | 19.1 | 21,024 | 6.4 |
| Liberal Democrats | 10 | 1 | 2 | 1 | 12.7 | 13.4 | 14,710 | 0.9 |
| Common Ground | 2 | 2 | 4 | 2 | 2.5 | 17.3 | 19,008 | 2.5 |
| Propel | 1 | 1 | 0 | 1 | 1.3 | 3.3 | 3,618 | N/A |
| TUSC | 0 | 0 | 0 | | 0.0 | 1.1 | 1,167 | 0.6 |
| Independent | 0 | 0 | 0 | | 0.0 | 0.7 | 729 | 2.9 |
| Sovereign Party | 0 | 0 | 0 | | 0.0 | 0.1 | 135 | N/A |
| Women's Equality | 0 | 0 | 0 | | 0.0 | 0.1 | 135 | N/A |
| Volt | 0 | 0 | 0 | | 0.0 | 0.1 | 131 | N/A |
| Communist | 0 | 0 | 0 | | 0.0 | 0.1 | 126 | N/A |
| Freedom Alliance | 0 | 0 | 0 | | 0.0 | 0.1 | 65 | N/A |
* ↑ Votes in this table are the total for the top candidate for each party in each ward. Votes % is calculated as the votes for the party divided by the total votes in this table (110,003). Vote change is compared with the same calculations for 2017.
* 1 2 Common Ground Alliance figures compared with combined previous Plaid Cymru and Green Party performance.

## Ward results

* = sitting councillor in this ward prior to election

### Adamsdown (2 seats)

Adamsdown :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Owen Llewellyn Jones* | 1,260 | 61.5 | N/A |
| | Labour | Grace Ferguson-Thorne | 1,250 | 61.0 | N/A |
| | Liberal Democrats | Molik Musaddek Ahmed | 368 | 18.0 | N/A |
| | Liberal Democrats | Yasin Ahmed Chowdhury | 364 | 17.8 | N/A |
| | Common Ground | Phil Doré | 226 | 11.0 | N/A |
| | Common Ground | Marc Owen Williams | 200 | 9.8 | N/A |
| | Conservative | Georgina Webb | 110 | 5.4 | N/A |
| | Conservative | Gurmit Singh Randhawa | 106 | 5.2 | N/A |
| | Propel | Jimmy Mapstone | 59 | 2.9 | N/A |
| | TUSC | Katrine Williams | 41 | 2.0 | N/A |
| Turnout | Turnout | Turnout | 2,049 | 32.2 | −3.9 |
| Registered electors | Registered electors | Registered electors | 6,364 | | |
| | Labour gain from Liberal Democrats | Labour gain from Liberal Democrats | Swing | | |
| | Labour hold | Labour hold | Swing | | |

### Butetown (3 seats)

Butetown :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Saeed Ebrahim* | 1,502 | 58.5 | N/A |
| | Labour | Helen Gunter | 1,364 | 53.2 | N/A |
| | Labour | Margaret Lewis | 1,184 | 46.1 | N/A |
| | Common Ground | Lewis Beecham | 649 | 25.3 | N/A |
| | Common Ground | Katie Greenaway | 500 | 19.5 | N/A |
| | Common Ground | Helen Rose Westhead | 477 | 18.6 | N/A |
| | Liberal Democrats | Sam Cooke | 296 | 11.5 | N/A |
| | Conservative | Dan French | 273 | 10.6 | N/A |
| | Conservative | Declan Aaron Edwards | 272 | 10.6 | N/A |
| | Conservative | Howard Wilkins | 237 | 9.2 | N/A |
| | Liberal Democrats | Marshall Tisdale | 181 | 7.1 | N/A |
| | Liberal Democrats | Majid Karim | 168 | 6.5 | N/A |
| | Propel | Diane McEvoy | 63 | 2.5 | N/A |
| Turnout | Turnout | Turnout | 2,566 | 30.2 | −4.7 |
| Registered electors | Registered electors | Registered electors | 8,501 | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour win (new seat) | Labour win (new seat) | Labour win (new seat) | Labour win (new seat) | Labour win (new seat) |
| | Labour win (new seat) | Labour win (new seat) | Labour win (new seat) | Labour win (new seat) | Labour win (new seat) |

### Caerau (2 seats)

Caerau :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Peter Bradbury* | 1,608 | 74.1 | N/A |
| | Labour | Elaine Simmons* | 1,309 | 60.3 | N/A |
| | Conservative | Dave Medlam | 272 | 12.5 | N/A |
| | Conservative | Rob Sutton | 256 | 11.8 | N/A |
| | Common Ground | Emyr Gruffydd | 212 | 9.8 | N/A |
| | Propel | Brendan Curran | 123 | 5.7 | N/A |
| | Propel | Peter Crumb | 106 | 4.9 | N/A |
| | Liberal Democrats | Michael Joseph Boyle | 102 | 4.7 | N/A |
| | TUSC | Dave Reid | 15 | 0.7 | N/A |
| Turnout | Turnout | Turnout | 2,170 | 26.9 | −6.5 |
| Registered electors | Registered electors | Registered electors | 8,090 | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |

### Canton (3 seats)

Canton :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Stephen Cunnah* | 2,761 | 47.8 | N/A |
| | Labour | Susan Elsmore* | 2,629 | 45.5 | N/A |
| | Labour | Jasmin Chowdhury | 2,460 | 42.5 | N/A |
| | Common Ground | Eleri Lewis | 2,408 | 41.6 | N/A |
| | Common Ground | John ap Steffan | 2,356 | 40.7 | N/A |
| | Common Ground | Matthew Hawkins | 2,033 | 35.2 | N/A |
| | Conservative | Jonathon Segarty | 485 | 8.4 | N/A |
| | Conservative | Bhupendra Pathak | 440 | 7.6 | N/A |
| | Conservative | Muhammad Raz | 414 | 7.2 | N/A |
| | Liberal Democrats | Henry George Mayall | 205 | 3.5 | N/A |
| | Liberal Democrats | Ian John Newton | 170 | 2.9 | N/A |
| | Propel | Osman Marks | 132 | 2.3 | N/A |
| | Propel | Lucy Sarah Stayt | 111 | 1.9 | N/A |
| | Propel | John Gabb | 97 | 1.7 | N/A |
| | TUSC | Taryn Tarrant-Cornish | 76 | 1.3 | N/A |
| Turnout | Turnout | Turnout | 5,782 | 47.2 | −4.1 |
| Registered electors | Registered electors | Registered electors | 12,259 | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |

### Cathays (4 seats)

Cathays :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Ali Ahmed* | 1,940 | 54.6 | N/A |
| | Labour | Sarah Merry* | 1,876 | 52.8 | N/A |
| | Labour | Norma Mackie* | 1,798 | 50.6 | N/A |
| | Labour | Chris Weaver* | 1,607 | 45.3 | N/A |
| | Common Ground | Ceri John Davies | 871 | 24.5 | N/A |
| | Common Ground | Attah Essien | 676 | 19.0 | N/A |
| | Common Ground | Lowri Tudur | 609 | 17.2 | N/A |
| | Common Ground | Deio Sion Llewelyn Owen | 590 | 16.6 | N/A |
| | Liberal Democrats | James Bear | 480 | 13.5 | N/A |
| | Liberal Democrats | Jonathan Bird | 447 | 12.6 | N/A |
| | Independent | Paulus Thurlbeck | 392 | 11.0 | N/A |
| | Independent | Dougie Gentles | 337 | 9.5 | N/A |
| | Liberal Democrats | Hugh Minor | 298 | 8.4 | N/A |
| | Liberal Democrats | Deborah Stux | 295 | 8.3 | N/A |
| | Conservative | Daniel Martin Burton | 246 | 6.9 | N/A |
| | Conservative | Aled John Jones-Pritchard | 222 | 6.3 | N/A |
| | Conservative | Janine Jones-Pritchard | 216 | 6.1 | N/A |
| | Conservative | Richard Mackay-Stewart | 205 | 5.8 | N/A |
| | TUSC | George Phillips | 139 | 3.9 | N/A |
| | Communist | Noah Russell | 126 | 3.5 | N/A |
| Turnout | Turnout | Turnout | 3,550 | 26.8 | −1.3 |
| Registered electors | Registered electors | Registered electors | 13,256 | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |

### Cyncoed (3 seats)

Cyncoed :
| Party | Party | Candidate | Votes | % | ±% |
| | Liberal Democrats | Robert James Hopkins* | 2,317 | 54.4 | N/A |
| | Liberal Democrats | Bablin Molik* | 2,316 | 54.4 | N/A |
| | Liberal Democrats | Daniel Edward Waldron | 2,131 | 50.1 | N/A |
| | Labour | Madhu Khanna-Davies | 908 | 21.3 | N/A |
| | Labour | Ian Bounds | 900 | 21.1 | N/A |
| | Labour | George Baldwin | 858 | 20.2 | N/A |
| | Conservative | Jasmin Cogin | 737 | 17.3 | N/A |
| | Conservative | Edward Sumner | 711 | 16.7 | N/A |
| | Conservative | Jack Goodwin | 692 | 16.3 | N/A |
| | Common Ground | James Peter Kenneth Meiklejohn | 278 | 6.5 | N/A |
| | Common Ground | Siân Wyn | 263 | 6.2 | N/A |
| | Common Ground | Maralyn Joy Davies | 255 | 6.0 | N/A |
| | Propel | Tim Dill-Peterson | 85 | 2.0 | N/A |
| Turnout | Turnout | Turnout | 4,257 | 49.2 | −7.1 |
| Registered electors | Registered electors | Registered electors | 8,651 | | |
| | Liberal Democrats hold | Liberal Democrats hold | Swing | | |
| | Liberal Democrats gain from Conservative | Liberal Democrats gain from Conservative | Swing | | |
| | Liberal Democrats hold | Liberal Democrats hold | Swing | | |

### Ely (3 seats)

Ely :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Russell Vivian Goodway* | 1,418 | 61.1 | N/A |
| | Labour | Irene May Humphreys | 1,369 | 59.0 | N/A |
| | Labour | Kaaba Maliika | 1,266 | 54.5 | N/A |
| | Conservative | Michelle Michaelis | 321 | 13.8 | N/A |
| | Propel | Ceri McEvoy | 312 | 13.4 | N/A |
| | Conservative | George Michael Welsh | 300 | 12.9 | N/A |
| | Conservative | Waseem Qazi | 288 | 12.4 | N/A |
| | Common Ground | Shaun Hew Phillips | 279 | 12.0 | N/A |
| | Propel | Jamie Pugh | 273 | 11.8 | N/A |
| | Common Ground | David Peter Griffin | 233 | 10.0 | N/A |
| | Propel | Ellie Kamanda | 204 | 8.8 | N/A |
| | Liberal Democrats | Clive John Mann | 116 | 5.0 | N/A |
| | TUSC | Ross Saunders | 66 | 2.8 | N/A |
| Turnout | Turnout | Turnout | 2,322 | 23.4 | −6.1 |
| Registered electors | Registered electors | Registered electors | 9,934 | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour gain from Plaid Cymru | Labour gain from Plaid Cymru | Swing | | |

### Fairwater (3 seats)

Sitting councillors, McEvoy, Ford and Parry, were elected for Plaid Cymru at the 2017 election. McEvoy was expelled, Ford and Parry later resigned and sat as Independents. McEvoy later founded a new party, Propel.
In this election Labour gained two seats from Plaid Cymru, and McEvoy retained his seat representing a gain for Propel from Plaid Cymru.
Fairwater :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Claudia Boes | 1,543 | 40.7 | N/A |
| | Propel | Neil McEvoy* | 1,478 | 39.0 | N/A |
| | Labour | Saleh Ahmed | 1,455 | 38.4 | N/A |
| | Propel | Lisa Ford* | 1,318 | 34.8 | N/A |
| | Labour | Lorna Stabler | 1,300 | 34.3 | N/A |
| | Propel | Keith Parry* | 1,185 | 31.3 | N/A |
| | Common Ground | Neil Roberts | 436 | 11.5 | N/A |
| | Conservative | David Adams | 417 | 11.0 | N/A |
| | Common Ground | Philip Christopher Croxall | 383 | 10.1 | N/A |
| | Conservative | Natalie Matthews | 383 | 10.1 | N/A |
| | Common Ground | Erik Williams | 344 | 9.1 | N/A |
| | Conservative | Clive Williams | 343 | 9.0 | N/A |
| | Liberal Democrats | Eleri Kathryn Kibale | 150 | 4.0 | N/A |
| | Liberal Democrats | Mark Andrew Rees | 126 | 3.3 | N/A |
| Turnout | Turnout | Turnout | 3,791 | 38.2 | −6.3 |
| Registered electors | Registered electors | Registered electors | 9,919 | | |
| | Labour gain from Plaid Cymru | Labour gain from Plaid Cymru | Swing | 38.2 | |
| | Propel gain from Plaid Cymru | Propel gain from Plaid Cymru | Swing | | |
| | Labour gain from Plaid Cymru | Labour gain from Plaid Cymru | Swing | | |

### Gabalfa (2 seats)

S
Gabalfa :
| Party | Party | Candidate | Votes | % | ±% |
| | Liberal Democrats | Rhys Taylor* | 1,082 | 49.7 | N/A |
| | Liberal Democrats | Ashley Kalum Wood* | 967 | 44.4 | N/A |
| | Labour | Claire O'Shea | 821 | 37.7 | N/A |
| | Labour | Leo Holmes | 719 | 33.0 | N/A |
| | Common Ground | Sam Coates | 302 | 13.9 | N/A |
| | Women's Equality | Bethan Louise Fry | 135 | 6.2 | N/A |
| | Conservative | Margaret Fegan | 97 | 4.5 | N/A |
| | Conservative | David Stewart Gow | 91 | 4.2 | N/A |
| | TUSC | Michael Charles Frazier | 41 | 1.9 | N/A |
| Turnout | Turnout | Turnout | 2,179 | 37.9 | +2.2 |
| Registered electors | Registered electors | Registered electors | 5,752 | | |
| | Liberal Democrats hold | Liberal Democrats hold | Swing | | |
| | Liberal Democrats hold | Liberal Democrats hold | Swing | | |

### Grangetown (4 seats)

Grangetown :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Ash Lister* | 2,885 | 56.4 | N/A |
| | Labour | Sara Elisabeth Robinson | 2,733 | 53.4 | N/A |
| | Labour | Abdul Sattar* | 2,665 | 52.1 | N/A |
| | Labour | Lynda Doreen Thorne* | 2,533 | 49.5 | N/A |
| | Common Ground | Tariq Awan | 1,511 | 29.5 | N/A |
| | Common Ground | Sarah King | 1,382 | 27.0 | N/A |
| | Common Ground | Luke Nicholas | 1,312 | 25.7 | N/A |
| | Common Ground | Frankie-Rose Taylor | 1,131 | 22.1 | N/A |
| | Conservative | Joseph Anyaike | 487 | 9.5 | N/A |
| | Conservative | Conor Holohan | 478 | 9.3 | N/A |
| | Conservative | Llyr Tomos Powell | 442 | 8.6 | N/A |
| | Conservative | Vivienne Ward | 425 | 8.3 | N/A |
| | Liberal Democrats | David Paul Morgan | 266 | 5.2 | N/A |
| | Liberal Democrats | Irfan Latif | 258 | 5.0 | N/A |
| | Liberal Democrats | Aamir Sheikh | 250 | 4.9 | N/A |
| | Propel | Jonathan Paul Gee | 175 | 3.4 | N/A |
| | Propel | Sailesh Patel | 162 | 3.2 | N/A |
| | Propel | Michael James Voyce | 150 | 2.9 | N/A |
| | TUSC | Joe Fathallah | 109 | 2.1 | N/A |
| Turnout | Turnout | Turnout | 5,115 | 35.8 | −1.5 |
| Registered electors | Registered electors | Registered electors | 14,304 | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour win (new seat) | Labour win (new seat) | Labour win (new seat) | Labour win (new seat) | Labour win (new seat) |

### Heath (3 seats)

Sitting councillor, Julie Sangani, had been elected at a by-election in November 2021, following the retirement of long standing Independent councillor Fenella Bowden.
Heath :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Graham Hinchey* | 2,584 | 50.9 | N/A |
| | Labour | Julie Sangani* | 2,581 | 50.8 | N/A |
| | Labour | Mike Ash-Edwards | 2,364 | 46.5 | N/A |
| | Conservative | Lyn Hudson* | 1,283 | 25.3 | N/A |
| | Conservative | Peter Hudson | 1,149 | 22.6 | N/A |
| | Liberal Democrats | Stephen Hill | 1,086 | 21.4 | N/A |
| | Conservative | Heather Ward | 989 | 19.5 | N/A |
| | Liberal Democrats | Kathryn Lock | 752 | 14.8 | N/A |
| | Liberal Democrats | Alun Williams | 725 | 14.3 | N/A |
| | Common Ground | Gwennol Haf | 520 | 10.2 | N/A |
| | Common Ground | Catherine Jane Lewis | 460 | 9.1 | N/A |
| Turnout | Turnout | Turnout | 5,079 | 51.6 | −3.5 |
| Registered electors | Registered electors | Registered electors | 9,848 | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour gain from Conservative | Labour gain from Conservative | Swing | | |

### Lisvane and Thornhill (3 seats)

Candidates John Lancaster and Sian-Elin Melbourne were councillors for the Llanishen ward prior to this election.
Lisvane and Thornhill :
| Party | Party | Candidate | Votes | % | ±% |
| | Conservative | John Lancaster* | 2,050 | 45.7 | N/A |
| | Conservative | Sian-Elin Melbourne* | 2,014 | 44.9 | N/A |
| | Conservative | Emma Reid-Jones | 2,006 | 44.7 | N/A |
| | Labour | David Chinnick | 1,949 | 43.4 | N/A |
| | Labour | Georgina Ann Phillips | 1,676 | 37.3 | N/A |
| | Labour | Spencer Pearson | 1,559 | 34.7 | N/A |
| | Common Ground | Jonathan Mark Draper | 447 | 10.0 | N/A |
| | Common Ground | Gwynfor Davies | 418 | 9.3 | N/A |
| | Liberal Democrats | Claire Louise Halliwell | 385 | 8.6 | N/A |
| | Liberal Democrats | Robert Corry Woodward | 315 | 7.0 | N/A |
| Turnout | Turnout | Turnout | 4,490 | 50.8 | N/A |
| Registered electors | Registered electors | Registered electors | 8,838 | | |
| | Conservative hold | Conservative hold | Swing | | |
| | Conservative win (new seat) | Conservative win (new seat) | Conservative win (new seat) | Conservative win (new seat) | Conservative win (new seat) |
| | Conservative win (new seat) | Conservative win (new seat) | Conservative win (new seat) | Conservative win (new seat) | Conservative win (new seat) |

### Llandaff (2 seats)

Llandaff :
| Party | Party | Candidate | Votes | % | ±% |
| | Conservative | Sean Driscoll* | 1,422 | 37.0 | N/A |
| | Labour | Peter Huw Jenkins | 1,279 | 33.2 | N/A |
| | Conservative | Matt Smith | 1,140 | 29.6 | N/A |
| | Common Ground | Judith Allan | 1,109 | 28.8 | N/A |
| | Labour | Laura Rochefort | 1,075 | 27.9 | N/A |
| | Common Ground | Steffan Webb | 927 | 24.1 | N/A |
| | Liberal Democrats | Ann Margaret Hyde | 201 | 5.2 | N/A |
| | Liberal Democrats | Keith Charles Hyde | 134 | 3.5 | N/A |
| | Propel | Mal McEvoy | 86 | 2.2 | N/A |
| | Propel | Charlotte Dommett | 63 | 1.6 | N/A |
| | Sovereign Party | Gruffydd Meredith | 18 | 0.5 | N/A |
| Turnout | Turnout | Turnout | 3,847 | 54.6 | −1.0 |
| Registered electors | Registered electors | Registered electors | 7,045 | | |
| | Conservative hold | Conservative hold | Swing | | |
| | Labour gain from Conservative | Labour gain from Conservative | Swing | | |

### Llandaff North (2 seats)

Llandaff North :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Jennifer Burke-Davies* | 1,493 | 59.2 | N/A |
| | Labour | Dilwar Ali* | 1,365 | 54.1 | N/A |
| | Common Ground | Paul Rock | 581 | 23.0 | N/A |
| | Common Ground | Gill Griffin | 515 | 20.4 | N/A |
| | Conservative | Craig Teale-Jones | 261 | 10.3 | N/A |
| | Conservative | Felix Milbank | 258 | 10.2 | N/A |
| | Liberal Democrats | Elinor Claire Dixon | 115 | 4.6 | N/A |
| | Propel | Kevin Hayde | 105 | 4.2 | N/A |
| | Propel | Janet Hayde | 97 | 3.8 | N/A |
| | Liberal Democrats | Matthew Thomas Dixon | 82 | 3.3 | N/A |
| | TUSC | Helen Perriam | 27 | 1.1 | N/A |
| Turnout | Turnout | Turnout | 2,522 | 41.7 | −2.2 |
| Registered electors | Registered electors | Registered electors | 6,047 | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |

### Llanishen (2 seats)

Boundary changes resulted in the community of Thornhill being moved out of the ward at this election (merging with Lisvane to form the new Lisvane and Thornhill ward). Prior to the election all seats were held by Conservative councillors.
Llanishen :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Garry Hunt | 1,892 | 54.5 | N/A |
| | Labour | Bethan Eluned Proctor | 1,777 | 51.2 | N/A |
| | Conservative | Jens Mario Kaiser | 872 | 25.1 | N/A |
| | Conservative | Lawrence Douglas Gwynn | 861 | 24.8 | N/A |
| | Common Ground | Betsan Angell | 401 | 11.6 | N/A |
| | Common Ground | Michael David Cope | 333 | 9.6 | N/A |
| | Liberal Democrats | Mary Rose Naughton | 275 | 7.9 | N/A |
| | Liberal Democrats | Peter Frederick Randerson | 197 | 5.7 | N/A |
| | Propel | Andrew John Edwards | 63 | 1.8 | N/A |
| Turnout | Turnout | Turnout | 3,470 | 43.1 | N/A |
| Registered electors | Registered electors | Registered electors | 8,056 | | |
| | Labour gain from Conservative | Labour gain from Conservative | Swing | | |
| | Labour gain from Conservative | Labour gain from Conservative | Swing | | |

### Llanrumney (3 seats)

Llanrumney :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Keith Phillip Jones* | 1,267 | 62.3 | N/A |
| | Labour | Heather Christine Joyce* | 1,266 | 62.3 | N/A |
| | Labour | Lee Edward Bridgeman* | 1,238 | 60.9 | N/A |
| | Conservative | Alan Hill | 371 | 18.2 | N/A |
| | Conservative | Kristopher David Roche | 337 | 16.6 | N/A |
| | Conservative | Mason Steed | 332 | 16.3 | N/A |
| | Common Ground | Jan Deem | 218 | 10.7 | N/A |
| | Propel | Charlene Manley | 145 | 7.1 | N/A |
| | Propel | Colin Lewis | 139 | 6.8 | N/A |
| | Liberal Democrats | John Speake | 114 | 5.6 | N/A |
| | Liberal Democrats | Laura Speake | 114 | 5.6 | N/A |
| | TUSC | Danielle Louise Smith | 113 | 5.6 | N/A |
| | Liberal Democrats | Wayne Street | 89 | 4.4 | N/A |
| Turnout | Turnout | Turnout | 2,033 | 25.0 | −4.2 |
| Registered electors | Registered electors | Registered electors | 8,119 | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |

### Pentwyn (3 seats)

Pentwyn :
| Party | Party | Candidate | Votes | % | ±% |
| | Liberal Democrats | Joe Carter* | 1,802 | 46.5 | N/A |
| | Labour | Jess Moultrie | 1,632 | 42.1 | N/A |
| | Liberal Democrats | Dan Naughton* | 1,562 | 40.3 | N/A |
| | Labour | Hannah McCarthy | 1,549 | 39.9 | N/A |
| | Liberal Democrats | Emma Sandrey* | 1,516 | 39.1 | N/A |
| | Labour | Simon Woolston | 1,500 | 38.7 | N/A |
| | Conservative | Michael Stewart Bryan | 327 | 8.4 | N/A |
| | Conservative | Munawar Ahmed Mughal | 320 | 8.2 | N/A |
| | Conservative | Joseph Thomas Kidd | 305 | 7.9 | N/A |
| | Common Ground | Paul Morgan | 203 | 5.2 | N/A |
| | Common Ground | Eluned Marion Press | 160 | 4.1 | N/A |
| | Common Ground | Elliot Stitfall | 144 | 3.7 | N/A |
| | Propel | Dean Febbo | 44 | 1.1 | N/A |
| | TUSC | Catherine Anne Peace | 36 | 0.9 | N/A |
| | Sovereign Party | Darren Bryant | 31 | 0.8 | N/A |
| Turnout | Turnout | Turnout | 3,879 | 34.7 | −2.9 |
| Registered electors | Registered electors | Registered electors | 11,167 | | |
| | Liberal Democrats hold | Liberal Democrats hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |
| | Liberal Democrats hold | Liberal Democrats hold | Swing | | |

### Pentyrch and St Fagans (3 seats)

Common Ground candidate Andrea Gibson was elected as a Plaid Cymru councillor for Ely in a by-election in February 2019. Gibson left Plaid Cymru in October 2019 and later sat as an independent.
This ward was formed by a merger of Pentyrch and Creigiau/St Fagans, which both elected one Conservative councillor each in 2017. In this election, Pentyrch and St Fagans elected three councillors (a net increase of one).
Pentyrch and St Fagans :
| Party | Party | Candidate | Votes | % | ±% |
| | Common Ground | Andrea Gibson | 1,289 | 34.2 | N/A |
| | Common Ground | Rhys Owain Livesy | 1,241 | 32.9 | N/A |
| | Conservative | Catriona Brown-Reckless | 1,170 | 31.0 | N/A |
| | Conservative | Gary Dixon | 1,093 | 29.0 | N/A |
| | Common Ground | John Rowlands | 1,090 | 28.9 | N/A |
| | Conservative | Jena Quilter | 1,032 | 27.4 | N/A |
| | Labour | Shane Peter Andrew | 1,020 | 27.1 | N/A |
| | Labour | John Yarrow | 944 | 25.0 | N/A |
| | Labour | Lexi Joanna Gauci | 922 | 24.5 | N/A |
| | Liberal Democrats | Caroline Morris | 266 | 7.1 | N/A |
| | Liberal Democrats | David Rees | 198 | 5.3 | N/A |
| | Liberal Democrats | Trisha Rees | 177 | 4.7 | N/A |
| | Volt | David Frank Davies | 131 | 3.5 | N/A |
| | Propel | Claire Venables | 78 | 2.1 | N/A |
| | Propel | Gareth Dommett | 69 | 1.8 | N/A |
| | Propel | Andrew Pugh | 56 | 1.5 | N/A |
| Turnout | Turnout | Turnout | 3,770 | 46.5 | N/A |
| Registered electors | Registered electors | Registered electors | 8,104 | | |
| | Common Ground win (new seat) | Common Ground win (new seat) | Common Ground win (new seat) | Common Ground win (new seat) | Common Ground win (new seat) |
| | Common Ground gain from Conservative | Common Ground gain from Conservative | Swing | | |
| | Conservative hold | Conservative hold | Swing | | |

### Penylan (3 seats)

Penylan :
| Party | Party | Candidate | Votes | % | ±% |
| | Liberal Democrats | Rodney Berman* | 2,376 | 50.8 | N/A |
| | Liberal Democrats | Imran Latif | 2,053 | 43.9 | N/A |
| | Liberal Democrats | Jon Shimmin | 1,986 | 42.4 | N/A |
| | Labour | Elin Bold | 1,748 | 37.4 | N/A |
| | Labour | Emlyn James Pratt | 1,460 | 31.2 | N/A |
| | Labour | Jonathan Mark Wilson | 1,381 | 29.5 | N/A |
| | Common Ground | Nick Carter | 579 | 12.4 | N/A |
| | Common Ground | Dewi John | 542 | 11.6 | N/A |
| | Conservative | Harry Jones | 480 | 10.3 | N/A |
| | Conservative | Tomos John Povey | 432 | 9.2 | N/A |
| | Conservative | Frank Smith | 423 | 9.0 | N/A |
| | Propel | Marc Phillips | 76 | 1.6 | N/A |
| Turnout | Turnout | Turnout | 4,679 | 46.7 | −3.4 |
| Registered electors | Registered electors | Registered electors | 10,014 | | |
| | Liberal Democrats hold | Liberal Democrats hold | Swing | | |
| | Liberal Democrats hold | Liberal Democrats hold | Swing | | |
| | Liberal Democrats hold | Liberal Democrats hold | Swing | | |

### Plasnewydd (4 seats)

Plasnewydd :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Daniel De'Ath* | 3,055 | 66.1 | N/A |
| | Labour | Sue Lent* | 2,679 | 57.9 | N/A |
| | Labour | Mary McGarry* | 2,675 | 57.8 | N/A |
| | Labour | Pete Wong* | 2,651 | 57.3 | N/A |
| | Common Ground | Adam James Layzell | 905 | 19.6 | N/A |
| | Common Ground | Owen Benedict Ruari McArdle | 766 | 16.6 | N/A |
| | Liberal Democrats | Clare James | 724 | 15.7 | N/A |
| | Common Ground | Morgan Meurig Rogers | 676 | 14.6 | N/A |
| | Common Ground | Ned Parish | 640 | 13.8 | N/A |
| | Liberal Democrats | Richard Anthony Jerrett | 609 | 13.2 | N/A |
| | Liberal Democrats | Geraldine Nichols | 587 | 12.7 | N/A |
| | Liberal Democrats | Phil Jones | 531 | 11.5 | N/A |
| | Conservative | Luke Doherty | 233 | 5.0 | N/A |
| | Conservative | Nigel Richards | 202 | 4.4 | N/A |
| | Conservative | James McClean | 184 | 4.0 | N/A |
| | Conservative | Zach Stubbings | 177 | 3.8 | N/A |
| | TUSC | John Aaron Williams | 172 | 3.7 | N/A |
| | Sovereign Party | Justin Lilley | 57 | 1.2 | N/A |
| Turnout | Turnout | Turnout | 4,625 | 35.5 | −3.4 |
| Registered electors | Registered electors | Registered electors | 13,016 | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |

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

Pontprennau and Old St Mellons :
| Party | Party | Candidate | Votes | % | ±% |
| | Conservative | Joel Williams* | 1,595 | 46.9 | N/A |
| | Conservative | Peter Littlechild | 1,343 | 39.5 | N/A |
| | Labour | Nicola Savage | 1,297 | 38.1 | N/A |
| | Labour | Khuram Chowdhry | 1,201 | 35.3 | N/A |
| | Common Ground | Steve George | 267 | 7.9 | N/A |
| | Common Ground | Ceri Hughes | 248 | 7.3 | N/A |
| | Liberal Democrats | Sarah Elizabeth Mackerras | 218 | 6.4 | N/A |
| | Liberal Democrats | Nigel Mackerras | 186 | 5.5 | N/A |
| | Freedom Alliance | Teresa Browning | 65 | 1.9 | N/A |
| Turnout | Turnout | Turnout | 3,400 | 37.9 | −6.6 |
| Registered electors | Registered electors | Registered electors | 8,966 | | |
| | Conservative hold | Conservative hold | Swing | | |
| | Conservative hold | Conservative hold | Swing | | |

### Radyr (2 seats)

Radyr :
| Party | Party | Candidate | Votes | % | ±% |
| | Conservative | Calum Tudur James Davies | 988 | 33.2 | N/A |
| | Labour | Helen Margaret Lloyd Jones | 968 | 32.5 | N/A |
| | Labour | Tyrone Davies | 942 | 31.7 | N/A |
| | Conservative | Chris Harries | 912 | 30.7 | N/A |
| | Common Ground | Michael Deem | 818 | 27.5 | N/A |
| | Common Ground | Radha Nair-Roberts | 796 | 26.8 | N/A |
| | Liberal Democrats | Annabelle Rees | 133 | 4.5 | N/A |
| | Liberal Democrats | Matthew Peter Morgan | 113 | 3.8 | N/A |
| | Propel | Craig Ollerton | 40 | 1.3 | N/A |
| | Propel | Steve West | 35 | 1.2 | N/A |
| Turnout | Turnout | Turnout | 2,974 | 52.3 | −1.1 |
| Registered electors | Registered electors | Registered electors | 5,689 | | |
| | Conservative hold | Conservative hold | Swing | | |
| | Labour win (new seat) | Labour win (new seat) | Labour win (new seat) | Labour win (new seat) | Labour win (new seat) |

### Rhiwbina (3 seats)

Rhiwbina :
| Party | Party | Candidate | Votes | % | ±% |
| | Conservative | Jayne Louise Cowan* | 2,789 | 51.3 | N/A |
| | Conservative | Adrian Robson* | 2,430 | 44.7 | N/A |
| | Conservative | Oliver William Owen* | 2,332 | 42.9 | N/A |
| | Labour | Bev Hampson | 2,274 | 41.9 | N/A |
| | Labour | Morgan Fackrell | 1,881 | 34.6 | N/A |
| | Labour | Christopher James Walburn | 1,678 | 30.9 | N/A |
| | Common Ground | Cenric Clement-Evans | 593 | 10.9 | N/A |
| | Common Ground | Alice Bethan Macintosh | 574 | 10.6 | N/A |
| | Common Ground | Rhys Llewellyn Williams | 551 | 10.1 | N/A |
| | Liberal Democrats | Anne Morgan | 328 | 6.0 | N/A |
| | Liberal Democrats | Jonathan Land | 290 | 5.3 | N/A |
| Turnout | Turnout | Turnout | 5,432 | 57.5 | −4.4 |
| Registered electors | Registered electors | Registered electors | 9,440 | | |
| | Conservative hold | Conservative hold | Swing | | |
| | Conservative hold | Conservative hold | Swing | | |
| | Conservative hold | Conservative hold | Swing | | |

### Riverside (3 seats)

Riverside :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Leonora Hope Thomson | 2,453 | 57.6 | N/A |
| | Labour | Caro Wild* | 2,391 | 56.1 | N/A |
| | Labour | Kanaya Singh | 2,386 | 56.0 | N/A |
| | Common Ground | Sioned James | 1,064 | 25.0 | N/A |
| | Common Ground | Rachel Susan Roberts | 861 | 20.2 | N/A |
| | Common Ground | Ken Barker | 840 | 19.7 | N/A |
| | Conservative | Terry Brooks | 318 | 7.5 | N/A |
| | Conservative | Ron Michaelis | 304 | 7.1 | N/A |
| | Conservative | Kola Ponnle | 273 | 6.4 | N/A |
| | Liberal Democrats | Rosemary Chaloner | 266 | 6.2 | N/A |
| | Liberal Democrats | Alun Williams | 246 | 5.8 | N/A |
| | Liberal Democrats | Mahmood Hassan | 214 | 5.0 | N/A |
| | Propel | Amir Alsisi | 155 | 3.6 | N/A |
| | Propel | Amira Alsisi | 128 | 3.0 | N/A |
| | Propel | Philip Fotiatis | 97 | 2.3 | N/A |
| | TUSC | Lianne Francis | 94 | 2.2 | N/A |
| | Sovereign Party | Darrin Lee Hughes | 29 | 0.7 | N/A |
| Turnout | Turnout | Turnout | 4,261 | 41.4 | −3.2 |
| Registered electors | Registered electors | Registered electors | 10,286 | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |

### Rumney (2 seats)

Rumney :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Bob Derbyshire* | 1,105 | 53.2 | N/A |
| | Labour | Jackie Parry* | 1,080 | 51.9 | N/A |
| | Conservative | Gareth Llewellyn Lloyd | 671 | 32.3 | N/A |
| | Conservative | Rhydian Thomas Payne | 608 | 29.2 | N/A |
| | Common Ground | David Fitzpatrick | 213 | 10.2 | N/A |
| | Liberal Democrats | Asghar Ali | 161 | 7.7 | N/A |
| | Propel | Roy Colley | 65 | 3.1 | N/A |
| | TUSC | Rhys Hywel Davies | 53 | 2.5 | N/A |
| Turnout | Turnout | Turnout | 2,079 | 30.7 | −2.8 |
| Registered electors | Registered electors | Registered electors | 6,763 | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |

### Splott (3 seats)

Splott :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Jane Henshaw | 2,079 | 69.6 | N/A |
| | Labour | Huw Thomas* | 2,058 | 68.9 | N/A |
| | Labour | Ed Stubbs* | 1,984 | 66.4 | N/A |
| | Common Ground | Pip Beattie | 437 | 14.6 | N/A |
| | Common Ground | Tom Coates | 342 | 11.4 | N/A |
| | Common Ground | Alex Jamieson | 287 | 9.6 | N/A |
| | Conservative | Thomas Harry James | 280 | 9.4 | N/A |
| | Conservative | Christopher Kirkham | 262 | 8.8 | N/A |
| | Conservative | Bob Lawrence | 256 | 8.6 | N/A |
| | Liberal Democrats | Malcolm Evans | 173 | 5.8 | N/A |
| | Liberal Democrats | Gary Van Der Walt | 141 | 4.7 | N/A |
| | Propel | Anthony Eedy | 137 | 4.6 | N/A |
| | TUSC | Dave Bartlett | 87 | 2.9 | N/A |
| Turnout | Turnout | Turnout | 2,987 | 31.3 | −1.8 |
| Registered electors | Registered electors | Registered electors | 9,541 | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |

### Trowbridge (3 seats)

Trowbridge :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Bernie Bowen-Thomson* | 1,545 | 57.6 | N/A |
| | Labour | Chris Lay* | 1,470 | 54.8 | N/A |
| | Labour | Michael Michael* | 1,398 | 52.1 | N/A |
| | Conservative | Catherine Elizabeth Dart | 528 | 19.7 | N/A |
| | Conservative | Christopher Anthony Dart | 480 | 17.9 | N/A |
| | Conservative | Geraint Hywel Payne | 449 | 16.7 | N/A |
| | Common Ground | Jonathan Rhys Williams | 367 | 13.7 | N/A |
| | Common Ground | Beca Evans | 366 | 13.6 | N/A |
| | Common Ground | Martin Williams | 278 | 10.4 | N/A |
| | Liberal Democrats | Chris Cogger | 228 | 8.5 | N/A |
| | Propel | Leanne Lennox | 197 | 7.3 | N/A |
| | Propel | Bernard Llewelyn Carleton | 171 | 6.4 | N/A |
| | TUSC | Joanna Chojnicka | 80 | 3.0 | N/A |
| Turnout | Turnout | Turnout | 2,684 | 22.8 | −3.8 |
| Registered electors | Registered electors | Registered electors | 11,751 | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |

### Whitchurch and Tongwynlais (4 seats)

Whitchurch and Tongwynlais :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Kate Carr | 2,872 | 41.8 | N/A |
| | Labour | Marc Palmer | 2,586 | 37.6 | N/A |
| | Labour | Jackie Jones | 2,577 | 37.5 | N/A |
| | Labour | Jamie Green | 2,547 | 37.1 | N/A |
| | Conservative | Linda Morgan* | 1,941 | 28.2 | N/A |
| | Common Ground | Kate Prosser | 1,825 | 26.6 | N/A |
| | Conservative | Mike Phillips* | 1,812 | 26.4 | N/A |
| | Conservative | Mike Jones-Pritchard* | 1,792 | 26.1 | N/A |
| | Common Ground | Gruffudd Jones | 1,749 | 25.5 | N/A |
| | Common Ground | Tessa Hannah Marshall | 1,738 | 25.3 | N/A |
| | Common Ground | Marc Flagg | 1,727 | 25.1 | N/A |
| | Conservative | Sharon Owen | 1,600 | 23.3 | N/A |
| | Liberal Democrats | Robert Godfrey | 477 | 6.9 | N/A |
| | Liberal Democrats | Dominic Eggbeer | 384 | 5.6 | N/A |
| | Liberal Democrats | Geraldine Marie Grant | 318 | 4.6 | N/A |
| | Liberal Democrats | Pippa Shimmin | 300 | 4.4 | N/A |
| Turnout | Turnout | Turnout | 6,872 | 52.9 | −2.7 |
| Registered electors | Registered electors | Registered electors | 12,982 | | |
| | Labour gain from Conservative | Labour gain from Conservative | Swing | | |
| | Labour gain from Conservative | Labour gain from Conservative | Swing | | |
| | Labour gain from Conservative | Labour gain from Conservative | Swing | | |
| | Labour gain from Conservative | Labour gain from Conservative | Swing | | |

## Reaction and aftermath

Labour leader Huw Thomas put the party's success down to the party's track record and a "positive campaign". The party had reached an historic third term in power, going forward Thomas promised to make Cardiff "stronger, greener, and fairer".
Adrian Robson leader of the Cardiff Conservatives blamed the election results on the national picture, Conservative party leader and Prime Minister Boris Johnson had become under fire for parties hosted during lockdown (See: Partygate)

## Changes 2022-2027
### By-elections
#### Grangetown

Grangetown by-election, 25 April 2024 :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Waheeda Abdul Sattar | 1,470 | 47.5 | N/A |
| | Common Ground | Kirstie Kopetzki | 573 | 18.5 | N/A |
| | Conservative | Zak Weaver | 387 | 12.5 | N/A |
| | Propel | Sash Patel | 292 | 9.4 | N/A |
| | Independent | Ahmed Abdillahi Abdi Samater | 205 | 6.6 | N/A |
| | Liberal Democrats | James Bear | 123 | 4.0 | N/A |
| | Independent | Andrew Hovord | 44 | 1.4 | N/A |
| Majority | Majority | Majority | 897 | 29.0 | N/A |
| Turnout | Turnout | Turnout | 3,049 | 20.3 | −15.5 |
| Registered electors | Registered electors | Registered electors | | | |
| | Labour hold | Labour hold | Swing | | |
The by-election was caused by the death of Labour councillor Abdul Sattar on 15 February 2024.

#### Splott

Splott by-election: 5 December 2024 :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Anny Anderson | 711 | 34.0 | –31.1 |
| | Green | Sam Coates | 362 | 17.3 | +3.6 |
| | Propel | Kyle Cullen | 305 | 14.6 | +10.3 |
| | Liberal Democrats | Cadan ap Tomos | 292 | 14.0 | +8.6 |
| | Reform UK | Lee Canning | 271 | 13.0 | N/A |
| | Plaid Cymru | Leticia Gonzalez | 88 | 4.2 | –9.5 |
| | Conservative | Tomos Llewelyn | 60 | 2.9 | –5.9 |
| Majority | Majority | Majority | 349 | 16.7 | N/A |
| Turnout | Turnout | Turnout | 2,094 | 19.5 | –11.8 |
| Registered electors | Registered electors | Registered electors | 10,762 | | |
| | Labour hold | Labour hold | Swing | 17.4 | |
Green and Plaid Cymru vote share changes compared to Common Ground's 2022 result.