# Cardiff Council elections

Cardiff Council elections take place for the whole council every five years, to Cardiff Council (officially the County Council of the City and County of Cardiff) in south Wales. It came into being as a unitary authority on 1 April 1996, after the passing of the Local Government (Wales) Act 1994. In 2014 the National Assembly for Wales deferred all local elections in Wales to 2017. The council is composed of 75 councillors.
Between 1974 and 1996 Cardiff Council was a district council of South Glamorgan (the city also electing councillors to the county council). Prior to 1974 Cardiff Council governed a county borough, separate from the county of Glamorgan.

## Political control

Since the current council was established as a unitary authority in 1995, political control has been held by the following parties:
| Party in control | Party in control | Party in minority lead | Party in minority lead |
| Labour | 1995–2004 |
| No overall control | 2004–2012 | Liberal Democrats | 2004–2012 |
| Labour | 2012- |

### Leadership

The leaders of Cardiff Council since 1996 have been:
| Councillor | Party | From | To |
| Russell Goodway | Labour | 1 April 1996 | 1 Jul 2004 |
| Rodney Berman | Liberal Democrats | 1 Jul 2004 | 6 May 2012 |
| Heather Joyce | Labour | 17 May 2012 | 27 Mar 2014 |
| Phil Bale | Labour | 27 Mar 2014 | 25 May 2017 |
| Huw Thomas | Labour | 25 May 2017 | |

## Council elections

* 1987 Cardiff City Council election
* 1991 Cardiff City Council election
* 1995 Cardiff Council election
* 1999 Cardiff Council election
* 2004 Cardiff Council election
* 2008 Cardiff Council election
* 2012 Cardiff Council election
* 2017 Cardiff Council election
* 2022 Cardiff Council election

## City result maps

* 2012 results map
* 2017 results map
* 2022 results map

## By-election results
### 1995–1999
#### Fairwater

Fairwater by-election, 10 April 1997 :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Michael Michael | 1,527 | 70.9 | −1.5 |
| | Conservative | | 388 | 18.0 | +6.7 |
| | Liberal Democrats | | 237 | 11.0 | +1.2 |
| Majority | Majority | Majority | 1,139 | 52.9 | N/A |
| Turnout | Turnout | Turnout | | | |
| Registered electors | Registered electors | Registered electors | | | |
| | Labour hold | Labour hold | Swing | | |

#### Plasnewydd

Plasnewydd by-election, 18 September 1997 :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Geoff Mungham | 1,944 | 46.3 | −9.9 |
| | Liberal Democrats | | 1,398 | 33.3 | +21.5 |
| | Conservative | | 457 | 10.9 | +3.9 |
| | Green | | 260 | 6.2 | −3.9 |
| | Socialist Labour | | 140 | 3.3 | N/A |
| Majority | Majority | Majority | 546 | 13.0 | N/A |
| Turnout | Turnout | Turnout | | 30.3 | −4.9 |
| Registered electors | Registered electors | Registered electors | | | |
| | Labour hold | Labour hold | Swing | | |
The by-election was called following the election of Cllr. Julie Morgan as the Member for the Parliamentary constituency of Cardiff North.

#### Rhiwbina

Rhiwbina by-election, 3 September 1998 :
| Party | Party | Candidate | Votes | % | ±% |
| | Conservative | Gareth Neale | 1,881 | 45.5 | +9.7 |
| | Labour | | 1,096 | 26.5 | −14.5 |
| | Liberal Democrats | | 966 | 23.3 | +9.0 |
| | Plaid Cymru | | 189 | 4.5 | −0.9 |
| Majority | Majority | Majority | 785 | 19.0 | N/A |
| Turnout | Turnout | Turnout | | 43.3 | −11.2 |
| Registered electors | Registered electors | Registered electors | | | |
| | Conservative gain from Labour | Conservative gain from Labour | Swing | | |

### 1999–2004
#### Cyncoed

Cyncoed by-election, 30 November 2000 :
| Party | Party | Candidate | Votes | % | ±% |
| | Liberal Democrats | David Rees | 1,902 | 54.3 | +1.0 |
| | Conservative | | 1,132 | 32.3 | +12.7 |
| | Labour | | 271 | 7.7 | −5.6 |
| Majority | Majority | Majority | 770 | 22.0 | N/A |
| Turnout | Turnout | Turnout | | 39.8 | −19.4 |
| Registered electors | Registered electors | Registered electors | | | |
| | Liberal Democrats hold | Liberal Democrats hold | Swing | | |
The by-election was called following the resignation of Cllr. Jenny Randerson.

#### Canton

Canton by-election, 7 June 2001 :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Ramesh Patel | 3,130 | 48.0 | +9.2 |
| | Conservative | | 1,266 | 19.4 | +6.1 |
| | Plaid Cymru | | 1,170 | 18.0 | −18.8 |
| | Liberal Democrats | | 950 | 14.6 | +9.2 |
| Majority | Majority | Majority | 1,960 | 28.6 | N/A |
| Turnout | Turnout | Turnout | | | |
| Registered electors | Registered electors | Registered electors | | | |
| | Labour hold | Labour hold | Swing | | |
The by-election was called following the election of Cllr. Kevin Brennan as the Member for the Parliamentary constituency of Cardiff West.

#### Llandaff North

Llandaff North by-election, 7 June 2001 :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | C. Bewes | 2,115 | 57.1 | +2.1 |
| | Conservative | | 664 | 17.9 | +3.6 |
| | Liberal Democrats | | 566 | 15.3 | +1.6 |
| | Plaid Cymru | | 362 | 9.8 | −7.2 |
| Majority | Majority | Majority | 1,549 | 39.2 | N/A |
| Turnout | Turnout | Turnout | | | |
| Registered electors | Registered electors | Registered electors | | | |
| | Labour hold | Labour hold | Swing | | |

#### Gabalfa

Gabalfa by-election, 7 February 2002 :
| Party | Party | Candidate | Votes | % | ±% |
| | Liberal Democrats | Cathy Pearcy | 925 | 55.3 | +31.5 |
| | Labour | | 451 | 26.9 | −10.3 |
| | Conservative | | 138 | 8.2 | −6.9 |
| | Plaid Cymru | | 116 | 6.9 | −16.9 |
| | Socialist Alliance | | 44 | 2.6 | N/A |
| Majority | Majority | Majority | 474 | 28.4 | N/A |
| Turnout | Turnout | Turnout | | 25.0 | −11.0 |
| Registered electors | Registered electors | Registered electors | | | |
| | Liberal Democrats gain from Labour | Liberal Democrats gain from Labour | Swing | | |

#### Pentwyn

Pentwyn by-election, 11 September 2003 :
| Party | Party | Candidate | Votes | % | ±% |
| | Liberal Democrats | Judith Woodman | 1,836 | 66.5 | +31.4 |
| | Labour | Luke Holland | 673 | 24.4 | −17.5 |
| | Conservative | | 169 | 6.1 | −3.7 |
| | Socialist Alliance | | 81 | 2.9 | N/A |
| Majority | Majority | Majority | 1,163 | 42.1 | N/A |
| Turnout | Turnout | Turnout | | 28.9 | −8.9 |
| Registered electors | Registered electors | Registered electors | | | |
| | Liberal Democrats hold | Liberal Democrats hold | Swing | | |
The by-election was called following the resignation of Cllr. Bill Cookson.

### 2004–2008

There were no by-elections.

### 2008–2012
#### Pentyrch

Pentyrch by-election, 31 July 2008 :
| Party | Party | Candidate | Votes | % | ±% |
| | Conservative | Craig Williams | 554 | 41.9 | +7.5 |
| | Labour | Christine Priday | 542 | 41.0 | +10.2 |
| | Plaid Cymru | Ian Hughes | 129 | 9.8 | −10.0 |
| | Liberal Democrats | Alexandria Evans | 97 | 7.3 | −0.6 |
| Majority | Majority | Majority | 12 | 0.9 | N/A |
| Turnout | Turnout | Turnout | | 48.2 | −2.6 |
| Registered electors | Registered electors | Registered electors | | | |
| | Conservative hold | Conservative hold | Swing | -1.3 | |
The by-election was called following the resignation of Cllr. Simon Roberts.

#### Riverside

Riverside by-election, 3 March 2011 :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Iona Gordon | 1,700 | 46.8 | +14.4 |
| | Plaid Cymru | Steve Garrett | 1,099 | 30.3 | −13.6 |
| | Conservative | James Roach | 369 | 10.2 | −2.0 |
| | Green | Yvan Maurel | 277 | 7.6 | N/A |
| | Liberal Democrats | Gwilym Owen | 187 | 5.1 | −6.4 |
| Majority | Majority | Majority | 601 | 16.5 | N/A |
| Turnout | Turnout | Turnout | 3,655 | 39.8 | −0.1 |
| Registered electors | Registered electors | Registered electors | 9,188 | | |
| | Labour gain from Plaid Cymru | Labour gain from Plaid Cymru | Swing | | |
The by-election was called following the resignation of Cllr. Gwenllian Lansdown.

### 2012–2017
#### Riverside

Riverside by-election, 5 December 2013 :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Darren Williams | 1,120 | 50.3 | +3.6 |
| | Plaid Cymru | Elizabeth Gould | 773 | 34.7 | +3.6 |
| | Conservative | Aled Crow | 107 | 4.8 | −2.9 |
| | UKIP | Simon Zeigler | 97 | 4.4 | N/A |
| | TUSC | Christopher Beer | 70 | 3.1 | +0.5 |
| | Liberal Democrats | Sian Donne | 58 | 2.6 | −1.2 |
| Majority | Majority | Majority | 347 | 15.6 | ±0.0 |
| Turnout | Turnout | Turnout | 2,225 | 22.6 | −14.6 |
| Registered electors | Registered electors | Registered electors | 9,860 | | |
| | Labour hold | Labour hold | Swing | | |
The by-election was caused by the resignation of Labour councillor Phil Hawkins for personal reasons.

#### Splott

Splott by-election, 5 December 2013 :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Edward Stubbs | 706 | 39.1 | −8.7 |
| | Liberal Democrats | Jamie Matthews | 604 | 33.5 | +3.5 |
| | UKIP | George Morris | 209 | 11.6 | N/A |
| | Independent | Elys John | 94 | 5.2 | N/A |
| | Conservative | Daniel Mason | 86 | 4.8 | +0.5 |
| | TUSC | Katrine Williams | 80 | 6.1 | +3.2 |
| Majority | Majority | Majority | 102 | 5.6 | −12.3 |
| Turnout | Turnout | Turnout | 1,779 | 18.1 | −15.4 |
| Registered electors | Registered electors | Registered electors | 9,846 | | |
| | Labour hold | Labour hold | Swing | | |
A by-election was caused by the resignation of Labour councillor Luke Holland following accusations of non-attendance at council meetings. He stated that he planned to move to London.

#### Canton

Canton by-election, 21 February 2014 :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Susan Elsmore | 1,201 | 41.7 | −5.9 |
| | Plaid Cymru | Elin Tudur | 972 | 33.7 | +14.3 |
| | Conservative | Pamela Richards | 381 | 13.2 | +2.4 |
| | Green | David Griffiths | 148 | 5.1 | −10.5 |
| | TUSC | Steffan Bateman | 101 | 3.5 | +1.6 |
| | Liberal Democrats | Matthew Hemsley | 80 | 2.8 | +0.3 |
| Majority | Majority | Majority | 229 | 8.0 | −20.2 |
| Turnout | Turnout | Turnout | 2,883 | 24.3 | −17.0 |
| Registered electors | Registered electors | Registered electors | 11,915 | | |
| | Labour hold | Labour hold | Swing | | |
The by-election was caused by the resignation of Labour Councillor Cerys Furlong on 30 December 2013.

#### Llandaff North

Llandaff North by-election, 2 October 2014 :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Susan White | 898 | 50.1 | +2.7 |
| | Independent | David Coggins-Cogan | 419 | 23.4 | +0.2 |
| | UKIP | Simon Zeigler | 204 | 11.4 | N/A |
| | Conservative | Peter Hudson | 136 | 7.6 | +1.7 |
| | Liberal Democrats | Ann Rowland-James | 134 | 7.5 | −6.8 |
| Majority | Majority | Majority | 479 | 26.7 | +2.5 |
| Turnout | Turnout | Turnout | 1,791 | 30.0 | −12.7 |
| Registered electors | Registered electors | Registered electors | 5,991 | | |
| | Labour hold | Labour hold | Swing | | |
The by-election was caused by the resignation of Labour councillor Siobhan Corria for personal reasons.

#### Pentyrch

Pentyrch by-election, 30 June 2015 :
| Party | Party | Candidate | Votes | % | ±% |
| | Conservative | Gavin Hill-John | 561 | 40.5 | −12.5 |
| | Plaid Cymru | Hywel Wigley | 543 | 39.2 | +26.7 |
| | Labour | Paul Fisher | 234 | 16.9 | −13.4 |
| | Independent | Munawar Mughal | 24 | 1.7 | N/A |
| | Green | Ruth Osner | 22 | 1.6 | −1.3 |
| | Liberal Democrats | Cadan ap Tomos | 10 | 0.7 | −0.9 |
| Majority | Majority | Majority | 18 | 1.3 | −24.0 |
| Turnout | Turnout | Turnout | 1,394 | 49.9 | −2.4 |
| Registered electors | Registered electors | Registered electors | 2,800 | | |
| | Conservative hold | Conservative hold | Swing | | |
The by-election was caused by the resignation of Labour Councillor Craig Williams, following his election as MP for Cardiff North.

#### Riverside

Riverside by-election, 7 October 2015 :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Caro Wild | 1,071 | 45.9 | −0.8 |
| | Plaid Cymru | Ruksana Begum | 780 | 33.5 | +2.3 |
| | Conservative | Sean Driscoll | 155 | 6.6 | −1.1 |
| | UKIP | Gareth Bennett | 110 | 4.7 | N/A |
| | Green | Hannah Pudner | 109 | 4.7 | −3.3 |
| | Liberal Democrats | Gwilym Owen | 85 | 3.6 | −0.2 |
| | TUSC | Steffan Bateman | 21 | 0.9 | −1.8 |
| Majority | Majority | Majority | 291 | 12.4 | −3.2 |
| Turnout | Turnout | Turnout | 2,331 | 23.9 | −13.3 |
| Registered electors | Registered electors | Registered electors | 9,758 | | |
| | Labour hold | Labour hold | Swing | | |
The by-election was caused by the resignation of Labour councillor Cecilia Love for family reasons.

#### Plasnewydd

Plasnewydd by-election, 20 September 2016 :
| Party | Party | Candidate | Votes | % | ±% |
| | Liberal Democrats | Robin Rea | 1,258 | 48.1 | +16.9 |
| | Labour | Peter Wong | 910 | 34.8 | −0.3 |
| | Plaid Cymru | Glenn Page | 177 | 6.8 | −4.8 |
| | Conservative | Munawar Mughal | 115 | 4.4 | −5.5 |
| | Green | Michael Cope | 93 | 3.6 | −8.7 |
| | UKIP | Lawrence Gwynn | 62 | 2.4 | N/A |
| Majority | Majority | Majority | 348 | 13.3 | N/A |
| Turnout | Turnout | Turnout | 2,615 | 23.1 | −4.6 |
| Registered electors | Registered electors | Registered electors | 11,356 | | |
| | Liberal Democrats gain from Labour | Liberal Democrats gain from Labour | Swing | | |
The by-election was caused by the death of Labour councillor Mohammed Javed.

#### Grangetown

Grangetown by-election, 3 November 2016 :
| Party | Party | Candidate | Votes | % | ±% |
| | Plaid Cymru | Tariq Awan | 1,163 | 42.0 | +8.5 |
| | Labour | Maliika Kaaba | 1,049 | 37.9 | −2.2 |
| | Conservative | Michael Bryan | 287 | 10.4 | +3.5 |
| | UKIP | Richard Lewis | 141 | 5.1 | N/A |
| | Liberal Democrats | Asghar Ali | 127 | 4.6 | −6.6 |
| Majority | Majority | Majority | 114 | 4.1 | N/A |
| Turnout | Turnout | Turnout | 2,767 | 21.7 | −12.4 |
| Registered electors | Registered electors | Registered electors | 12,754 | | |
| | Plaid Cymru gain from Labour | Plaid Cymru gain from Labour | Swing | | |
The by-election was caused by the death of Labour councillor Chris Lomax.

### 2017–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 |
| | Liberal Democrats | Richard Jerrett | 46 | 2.4 | −6.2 |
| | Conservative | Gavin Brookman | 271 | 14.1 | −2.4 |
| 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 | Irene Humphreys | 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 | Steve Garrett | 250 | 6.8 | +0.5 |
| Majority | Majority | Majority | 599 | 16.3 | N/A |
| Turnout | Turnout | Turnout | 3,668 | 38.2 | −16.9 |
| Registered electors | Registered electors | Registered electors | 9,596 | | |
| | Labour gain from Heath Independent | Labour gain from Heath Independent | Swing | | |
The by-election was called following the resignation of Cllr. Fenella Bowden who resigned for health reasons.