← All councils

Cardiff

Every election cycle we have data for, most recent first.

2 cycles in our data
2.6% all-time seats elected below the quota (4 of 154)
17.5% all-time seats unfairly awarded (27 of 154 across 2 cycles)

Cycles

Council composition as of 2024

79 councillors, by party. One square per seat. Source: opencouncildata annual snapshot — reflects the council at the end of 2024 (after that year's elections, by-elections and defections). Hover any seat for the party.

Most recent election (2022)

In 2022, 79 seats were up across 28 wards. The table below shows what each party actually won — alongside what they would have won if the 79 seats had been shared in proportion to votes received (how, with caveats). The Δ column is the actual seat count minus the proportional seat count — positive numbers are parties First-Past-the-Post over-represented; negative are parties it under-represented.

PartyVotesVote %Seats won% of seatsProportional seatsProportional %Δ
Labour Party137,28647.5%5569.6%3848.1%+17
Conservative Party55,45719.2%1113.9%1519.0%-4
Plaid Cymru49,32017.1%22.5%1417.7%-12
Liberal Democrats36,49912.6%1012.7%1012.7%0
PROP7,9422.7%11.3%22.5%-1
Trade Unionist and Socialist Coalition1,1490.4%00.0%00.0%0
Independent7290.3%00.0%00.0%0
Green Party2870.1%00.0%00.0%0
WEP1350.0%00.0%00.0%0
SOV1350.0%00.0%00.0%0
VOLT1310.0%00.0%00.0%0
Communist Party of Britain1260.0%00.0%00.0%0
FREE650.0%00.0%00.0%0
Total289,261100.0%79100.0%79100.0%0

Vote share vs seats won

The top bar is each party's share of votes cast in this council. Below, one square per seat, coloured by the party that won it — first the actual First-Past-the-Post result, then what a proportional method would have produced from the same vote totals. Divergence between the bar and the actual grid is the indictment of the method.

Vote share
Actual seats
Proportional seats

Full ward-by-ward results for 2022 →

Composition history

One row per opencouncildata annual snapshot — the council at the end of each year (after that year's elections, by-elections and defections). Newest first; hover any seat for the party.

2024
2023
2022
2021
2020
2019
2018
2017
2016

Ward by ward

Each row is a ward, each column a cycle. Each cell shows the top-of-poll candidate's party (swatch) and their share of valid ballots. Wards are matched by name across cycles — boundary reviews can mean a ward of the same name is a slightly different area in a later cycle.

Ward20172022
Adamsdown45%63%
Butetown56%63%
Caerau54%80%
Canton45%49%
Cathays53%59%
Creigiau/St Fagans47%
Cyncoed41%56%
Ely57%66%
Fairwater59%43%
Gabalfa46%51%
Grangetown47%60%
Heath39%53%
Lisvane76%
Lisvane and Thornhill48%
Llandaff37%38%
Llandaff North57%61%
Llanishen47%57%
Llanrumney59%66%
Pentwyn48%49%
Pentyrch47%
Pentyrch and St Fagans36%
Penylan54%53%
Plasnewydd55%70%
Pontprennau/Old St Mellons60%
Pontprennau/Old St. Mellons50%
Radyr43%34%
Rhiwbina66%55%
Riverside56%61%
Rumney48%56%
Splott58%73%
Trowbridge44%61%
Whitchurch and Tongwynlais44%44%