# 2004 Cardiff Council election

The 2004 Cardiff Council election was the third election to the post-1996 Cardiff Council following the re-organisation of local government in Wales. It was held on 10 June 2004. It was preceded by the 1999 election and followed by the 2008 elections. On the same day, elections were held for the European Parliament as well as to the other 21 local authorities and to community councils in Wales as part of the 2004 Welsh local elections.

## Overview

Council elections in Wales were originally scheduled for May 2003, but were delayed to avoid a conflict with the 2003 Wales Assembly elections.
All 75 council seats were up for election. Labour lost its majority at this election. The Labour group leader also resigned after it became clear he would be defeated in an election for the post by Llandaff councillor Greg Owens.
Independent Butetown councillor, Betty Campbell, narrowly lost her seat to Labour amid claims of 'dirty tricks' during the campaign.
Cardiff Council election result 2004 :
| Party | Seats | Gains | Losses | Net gain/loss | Seats % | Votes % | Votes |
| Labour | 27 | 1 | 25 | -24 | 36.0 | 30.3 | 74,756 |
| Conservative | 12 | 7 | 0 | +7 | 16.0 | 22.0 | 54,311 |
| Liberal Democrats | 33 | 16 | 0 | +16 | 44.0 | 33.0 | 81,431 |
| Plaid Cymru | 3 | 2 | 0 | +2 | 4.0 | 10.4 | 25,718 |
| Green | 0 | 0 | 0 | ±0.0 | 0.0 | 0.9 | 2,276 |
| Cardiff Independent Citizens | 0 | 0 | 0 | ±0.0 | 0.0 | 1.6 | 3,841 |
| Socialist Alternative | 0 | 0 | 0 | ±0.0 | 0.0 | 0.1 | 324 |
| ProLife | 0 | 0 | 0 | ±0.0 | 0.0 | 0.1 | 134 |
| Communist | 0 | 0 | 0 | ±0.0 | 0.0 | 0.0 | 105 |
| Independent | 0 | 0 | 1 | -1 | 0.0 | 1.6 | 3,981 |

## Ward Results
### Adamstown (2 seats)

Adamsdown :
| Party | Party | Candidate | Votes | % | ±% |
| | Liberal Democrats | Nigel Howells* | 1,053 | 59.0 | +8.8 |
| | Liberal Democrats | John Dixon* | 1,012 | | |
| | Labour | David Mawn | 327 | 18.3 | −17.2 |
| | Labour | Clifford Power | 310 | | |
| | Plaid Cymru | James Mapstone | 186 | 10.4 | −0.7 |
| | Green | Clare Berry | 171 | 9.6 | N/A |
| | Plaid Cymru | Jeremy Williams | 130 | | |
| | Communist | Frances Rawlings | 49 | 2.7 | −0.5 |
| Turnout | Turnout | Turnout | | 30.8 | −10.2 |
| Registered electors | Registered electors | Registered electors | 5,468 | | |
| | Liberal Democrats hold | Liberal Democrats hold | Swing | | |
| | Liberal Democrats hold | Liberal Democrats hold | Swing | | |

### Butetown (1 seat)

Butetown :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Vaughan Gething | 424 | 30.9 | −0.1 |
| | Independent | Betty Campbell * | 422 | 30.7 | −12.4 |
| | Liberal Democrats | Stephen Greening | 321 | 23.4 | +16.5 |
| | Conservative | Maria Hill | 127 | 9.2 | +4.0 |
| | Plaid Cymru | Lyn Thomas | 80 | 5.8 | −8.0 |
| Turnout | Turnout | Turnout | | 31.5 | −10.1 |
| Registered electors | Registered electors | Registered electors | 4,412 | | |
| | Labour gain from Independent | Labour gain from Independent | Swing | | |

### Caerau (2 seats)

Caerau :
| Party | Party | Candidate | Votes | % | ±% |
| | Liberal Democrats | Jacqui Gasson* | 1,029 | 45.7 | −1.2 |
| | Liberal Democrats | Roger Burley | 818 | | |
| | Labour | Harry Ernest* | 763 | 33.9 | −4.6 |
| | Labour | I. Tutton | 675 | | |
| | Conservative | A. Burns | 253 | 11.2 | +4.7 |
| | Plaid Cymru | Robert Garland | 209 | 9.3 | +2.2 |
| Turnout | Turnout | Turnout | | 28.0 | −6.2 |
| Registered electors | Registered electors | Registered electors | 7,370 | | |
| | Liberal Democrats hold | Liberal Democrats hold | Swing | | |
| | Liberal Democrats gain from Labour | Liberal Democrats gain from Labour | Swing | | |

### Canton (3 seats)

Canton :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Ramesh Patel | 1,657 | 37.1 | −4.5 |
| | Labour | Richard Cook | 1,530 | | |
| | Labour | David Thomas* | 1,404 | | |
| | Plaid Cymru | Eluned Bush | 982 | 22.0 | −2.3 |
| | Conservative | Harold Burns | 931 | 20.8 | +7.3 |
| | Plaid Cymru | K. Parry | 927 | | |
| | Liberal Democrats | A. Owen | 899 | 20.1 | +9.4 |
| | Plaid Cymru | S. Thomas | 872 | | |
| | Conservative | C. Gardener | 828 | | |
| | Conservative | S. Gardener | 817 | | |
| | Liberal Democrats | D. Morgan | 702 | | |
| | Liberal Democrats | A. Goldsworthy | 687 | | |
| Turnout | Turnout | Turnout | | 41.8 | −3.4 |
| Registered electors | Registered electors | Registered electors | 10,470 | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |

### Cathays (4 seats)

Cathays :
| Party | Party | Candidate | Votes | % | ±% |
| | Liberal Democrats | J. Carter | 1,515 | 53.5 | +17.1 |
| | Liberal Democrats | Jonathan Aylwin* | 1,512 | | |
| | Liberal Democrats | Jane Reece* | 1,435 | | |
| | Liberal Democrats | Simon Wakefield* | 1,381 | | |
| | Labour | Sarah Merry | 691 | 24.4 | +1.2 |
| | Labour | S. Brooks | 653 | | |
| | Labour | A. Hunt | 649 | | |
| | Labour | M. Foday | 585 | | |
| | Conservative | D. Lord | 319 | 11.3 | +5.0 |
| | Plaid Cymru | Carwyn Fowler | 308 | 10.9 | −7.9 |
| | Conservative | J. Morgan | 308 | | |
| | Conservative | A. Murphy | 302 | | |
| | Conservative | M. Bebb | 295 | | |
| | Plaid Cymru | Gwennol Haf | 286 | | |
| | Plaid Cymru | K. Jones | 281 | | |
| | Plaid Cymru | M. Sion | 243 | | |
| Turnout | Turnout | Turnout | | 21.8 | −17.8 |
| Registered electors | Registered electors | Registered electors | 13,337 | | |
| | Liberal Democrats hold | Liberal Democrats hold | Swing | | |
| | Liberal Democrats hold | Liberal Democrats hold | Swing | | |
| | Liberal Democrats hold | Liberal Democrats hold | Swing | | |
| | Liberal Democrats hold | Liberal Democrats hold | Swing | | |

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

Creigiau & St. Fagans :
| Party | Party | Candidate | Votes | % | ±% |
| | Plaid Cymru | Delme Bowen* | 1,107 | 60.5 | +6.8 |
| | Conservative | S. Baker | 396 | 21.7 | −0.8 |
| | Labour | Michael Kelly | 186 | 10.2 | −4.7 |
| | Liberal Democrats | Peter Borrow | 140 | 7.7 | −1.2 |
| Turnout | Turnout | Turnout | | 46.7 | −6.0 |
| Registered electors | Registered electors | Registered electors | 3,929 | | |
| | Plaid Cymru hold | Plaid Cymru hold | Swing | | |

### Cyncoed (3 seats)

Cyncoed :
| Party | Party | Candidate | Votes | % | ±% |
| | Liberal Democrats | Kathryn Lloyd | 2,490 | 57.5 | +4.2 |
| | Liberal Democrats | A. Gee | 2,384 | | |
| | Liberal Democrats | David Rees* | 2,347 | | |
| | Conservative | C. Parsley | 1,106 | 25.5 | +5.9 |
| | Conservative | S. Bardo | 1,081 | | |
| | Conservative | Joan Gibby | 1,080 | | |
| | Labour | Adrian Matthewson | 508 | 11.7 | −1.6 |
| | Labour | M. Fogg | 454 | | |
| | Labour | R. Rees | 441 | | |
| | Plaid Cymru | Huw Lewis | 226 | 5.2 | −4.2 |
| | Plaid Cymru | Alun Ogwen | 219 | | |
| Turnout | Turnout | Turnout | | 49.4 | −9.8 |
| Registered electors | Registered electors | Registered electors | 8,723 | | |
| | Liberal Democrats hold | Liberal Democrats hold | Swing | | |
| | Liberal Democrats hold | Liberal Democrats hold | Swing | | |
| | Liberal Democrats hold | Liberal Democrats hold | Swing | | |

### Ely (3 seats)

Ely :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Brian Finn* | 1,180 | 32.7 | −17.8 |
| | Labour | Irene Goddard | 1,156 | | |
| | Labour | Russell Goodway* | 1,004 | | |
| | Independent | Charles Gale* | 942 | 26.1 | N/A |
| | Independent | A. Davies | 826 | | |
| | Cardiff Independent Citizens | R. Cullen | 599 | 16.6 | N/A |
| | Liberal Democrats | M. Cridland | 543 | 15.0 | −5.3 |
| | Liberal Democrats | C. Adlington | 352 | | |
| | Plaid Cymru | E. Wulle | 347 | 9.6 | −5.2 |
| | Liberal Democrats | J. Speake | 331 | | |
| Turnout | Turnout | Turnout | | 28.5 | −1.9 |
| Registered electors | Registered electors | Registered electors | 9,950 | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |

### Fairwater (3 seats)

Fairwater :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Michael Costas-Michael* | 1,179 | 30.6 | −18.1 |
| | Labour | J. Norman | 1,152 | | |
| | Labour | Derek Rees* | 1,055 | | |
| | Conservative | R. Mogridge | 812 | 21.1 | −3.4 |
| | Plaid Cymru | D. Minto | 759 | 19.7 | +3.2 |
| | Plaid Cymru | Lisa Ford | 677 | | |
| | Liberal Democrats | K. Chubb | 599 | 15.6 | −1.5 |
| | Plaid Cymru | N. Jones | 582 | | |
| | Liberal Democrats | E. Randerson | 580 | | |
| | Liberal Democrats | M. Thomas | 528 | | |
| | Cardiff Independent Citizens | B. Murdock | 502 | 13.0 | N/A |
| | Cardiff Independent Citizens | C. Steedman | 341 | | |
| Turnout | Turnout | Turnout | | 35.7 | −0.6 |
| Registered electors | Registered electors | Registered electors | 9,566 | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |

### Gabalfa (2 seats)

The Liberal Democrats had won a seat in this ward at a by-election.
Gabalfa :
| Party | Party | Candidate | Votes | % | ±% |
| | Liberal Democrats | Cathy Pearcy* | 975 | 47.4 | +13.6 |
| | Liberal Democrats | L. Bridges | 840 | | |
| | Labour | D. Allinson | 464 | 22.5 | −14.7 |
| | Labour | T. Gilder | 434 | | |
| | Plaid Cymru | Ceri Morgan | 221 | 10.7 | −13.1 |
| | Green | A. Ketchin | 211 | 10.3 | N/A |
| | Conservative | J. Jenkins | 187 | 9.1 | −6.0 |
| | Conservative | D. Abuzaid | 142 | | |
| Turnout | Turnout | Turnout | | 27.9 | −8.1 |
| Registered electors | Registered electors | Registered electors | 6,657 | | |
| | Liberal Democrats hold | Liberal Democrats hold | Swing | | |
| | Liberal Democrats gain from Labour | Liberal Democrats gain from Labour | Swing | | |

### Grangetown (3 seats)

Grangetown :
| Party | Party | Candidate | Votes | % | ±% |
| | Liberal Democrats | Margaret Winifred Jones | 1,424 | 37.4 | +22.7 |
| | Liberal Democrats | Francesca Montemaggi | 1,417 | | |
| | Liberal Democrats | Asghar Ali | 1,404 | | |
| | Labour | Lynda Thorne* | 1,122 | 29.4 | −23.2 |
| | Labour | Iftakhar Khan | 1,113 | | |
| | Labour | Peter Perkins* | 1,072 | | |
| | Plaid Cymru | Patrick Daley | 838 | 22.0 | +4.8 |
| | Plaid Cymru | Abul Belal | 764 | | |
| | Plaid Cymru | Jason Toby | 749 | | |
| | Conservative | Jean Summerhayes | 427 | 11.2 | −4.3 |
| | Conservative | Adrian Spinola | 420 | | |
| | Conservative | Richard Mendelssohn | 369 | | |
| Turnout | Turnout | Turnout | | 37.0 | +2.3 |
| Registered electors | Registered electors | Registered electors | 6,657 | | |
| | Liberal Democrats gain from Labour | Liberal Democrats gain from Labour | Swing | | |
| | Liberal Democrats gain from Labour | Liberal Democrats gain from Labour | Swing | | |
| | Liberal Democrats gain from Labour | Liberal Democrats gain from Labour | Swing | | |

### Heath (3 seats)

Heath :
| Party | Party | Candidate | Votes | % | ±% |
| | Liberal Democrats | John James* | 2,380 | 44.5 | +14.8 |
| | Liberal Democrats | Graham Harris* | 2,305 | | |
| | Liberal Democrats | M. Michaelis | 1,929 | | |
| | Conservative | Y. Jenkins | 1,040 | 19.4 | −4.6 |
| | Conservative | Greville Tatham | 1,026 | | |
| | Conservative | C. Taylor | 992 | | |
| | Labour | Graham Hinchey* | 920 | 17.2 | −11.5 |
| | Labour | H. Williams | 634 | | |
| | Labour | S. Tarbet | 612 | | |
| | Cardiff Independent Citizens | R. Page | 502 | 9.4 | N/A |
| | Cardiff Independent Citizens | D. Milsom | 367 | | |
| | Cardiff Independent Citizens | J. Hermer | 288 | | |
| | Plaid Cymru | Garmon Emyr | 265 | 5.0 | −6.5 |
| | Plaid Cymru | Nans Couch | 248 | | |
| | Green | Chris Von Ruhland | 244 | 4.6 | −1.5 |
| Turnout | Turnout | Turnout | | 52.4 | −9.7 |
| Registered electors | Registered electors | Registered electors | 9,140 | | |
| | Liberal Democrats hold | Liberal Democrats hold | Swing | | |
| | Liberal Democrats hold | Liberal Democrats hold | Swing | | |
| | Liberal Democrats gain from Labour | Liberal Democrats gain from Labour | Swing | | |

### Lisvane (1 seat)

Lisvane :
| Party | Party | Candidate | Votes | % | ±% |
| | Conservative | David Walker | 828 | 69.5 | +7.9 |
| | Liberal Democrats | R. Rowland | 155 | 13.0 | −2.4 |
| | Labour | J. Lomax | 102 | 8.6 | −8.0 |
| | Independent | V. Pearcey | 67 | 5.6 | N/A |
| | Plaid Cymru | Anthony Couch | 39 | 3.3 | −3.1 |
| Turnout | Turnout | Turnout | | 54.4 | −8.1 |
| Registered electors | Registered electors | Registered electors | 2,848 | | |
| | Conservative hold | Conservative hold | Swing | | |

### Llandaff (2 seats)

Llandaff :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Gregory Owens* | 1,356 | 37.7 | +1.2 |
| | Labour | John Sheppard* | 1,335 | | |
| | Conservative | H. Douglas | 1,255 | 34.9 | +2.4 |
| | Conservative | S. Gardener | 1,103 | | |
| | Liberal Democrats | H. Borrow | 524 | 14.6 | −0.6 |
| | Liberal Democrats | E. Williams | 502 | | |
| | Plaid Cymru | A. Miles | 458 | 12.7 | −3.1 |
| Turnout | Turnout | Turnout | | 47.1 | −8.6 |
| Registered electors | Registered electors | Registered electors | 7,318 | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |

### Llandaff North (2 seats)

Llandaff North :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | C. Bewes* | 804 | 38.3 | −16.9 |
| | Liberal Democrats | Ann James | 755 | 36.0 | +20.8 |
| | Liberal Democrats | D. Cogan | 740 | | |
| | Labour | Philip Robinson* | 677 | | |
| | Conservative | L. Morgan | 355 | 16.9 | +2.9 |
| | Conservative | C. Williams | 263 | | |
| | Plaid Cymru | T. Jones | 183 | 8.7 | −6.9 |
| | Plaid Cymru | H. Jones | 179 | | |
| Turnout | Turnout | Turnout | | 37.0 | −5.7 |
| Registered electors | Registered electors | Registered electors | 5,600 | | |
| | Labour hold | Labour hold | Swing | | |
| | Liberal Democrats gain from Labour | Liberal Democrats gain from Labour | Swing | | |

### Llanishen (4 seats)

Llanishen :
| Party | Party | Candidate | Votes | % | ±% |
| | Conservative | Richard Foley | 1,999 | 33.6 | +7.6 |
| | Conservative | Jon Burns | 1,847 | | |
| | Conservative | R. Smith | 1,827 | | |
| | Conservative | C. Piper | 1,807 | | |
| | Labour | Garry Hunt* | 1,774 | 29.8 | −9.6 |
| | Labour | Christopher Bettinson* | 1,534 | | |
| | Labour | Gretta Hunt* | 1,531 | | |
| | Labour | A. Greagsby | 1,388 | | |
| | Liberal Democrats | Philip Hampton | 1,167 | 19.6 | +2.1 |
| | Liberal Democrats | Veronica Hallett | 1,145 | | |
| | Liberal Democrats | S. Barton | 1,116 | | |
| | Liberal Democrats | P. Saunders | 1,062 | | |
| | Plaid Cymru | D. Davies | 559 | 9.4 | −7.6 |
| | Independent | J. Richards | 449 | 7.5 | N/A |
| | Independent | J. Price | 373 | | |
| Turnout | Turnout | Turnout | | 44.9 | −5.1 |
| Registered electors | Registered electors | Registered electors | 11,874 | | |
| | 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 | | |

### Llanrumney (3 seats)

Llanrumney :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Gillian Bird* | 1,263 | 47.4 | −7.0 |
| | Labour | D. Morgan | 1,139 | | |
| | Labour | Jackie Parry | 1,085 | | |
| | Plaid Cymru | C. Lewis | 610 | 22.9 | +3.3 |
| | Plaid Cymru | A. Thomas | 598 | | |
| | Plaid Cymru | David Reeves | 474 | | |
| | Conservative | B. Jeffreys | 420 | 15.8 | +3.5 |
| | Conservative | C. Prew | 409 | | |
| | Liberal Democrats | P. Randerson | 369 | 13.9 | +3.9 |
| | Liberal Democrats | H. Minor | 367 | | |
| | Conservative | A. Price | 360 | | |
| | Liberal Democrats | G. Smith | 310 | | |
| Turnout | Turnout | Turnout | | 31.9 | −4.4 |
| Registered electors | Registered electors | Registered electors | 8,085 | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |

### Pentwyn (4 seats)

Cubitt previously represented Pontprennau. Woodman had previously held the seat for the Liberal Democrats at a by-election on 11 September 2003.
Pentwyn :
| Party | Party | Candidate | Votes | % | ±% |
| | Liberal Democrats | Judith Woodman* | 1,884 | 47.1 | +12.0 |
| | Liberal Democrats | B. Parsons | 1,798 | | |
| | Liberal Democrats | Keith Hyde | 1,729 | | |
| | Liberal Democrats | Paul Chaundy | 1,722 | | |
| | Labour | B. Pinnell* | 1,172 | 29.3 | −12.6 |
| | Labour | J. Regan* | 1,151 | | |
| | Labour | P. Cubitt* | 1,106 | | |
| | Labour | L. Newton | 1,043 | | |
| | Conservative | M. Newman | 525 | 13.1 | ±0.0 |
| | Conservative | J. Goodwin | 461 | | |
| | Conservative | M. Bryan | 457 | | |
| | Conservative | M. Wicks | 420 | | |
| | Plaid Cymru | J.Davies | 280 | | |
| | Socialist Alternative | S. Williams | 139 | 3.5 | N/A |
| Turnout | Turnout | Turnout | | 36.6 | −1.2 |
| Registered electors | Registered electors | Registered electors | 10,551 | | |
| | Liberal Democrats hold | Liberal Democrats hold | Swing | | |
| | Liberal Democrats gain from Labour | Liberal Democrats gain from Labour | Swing | | |
| | Liberal Democrats gain from Labour | Liberal Democrats gain from Labour | Swing | | |
| | Liberal Democrats gain from Labour | Liberal Democrats gain from Labour | Swing | | |

### Pentyrch (1 seat)

Pentyrch :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Christine Priday* | 482 | 34.6 | −4.3 |
| | Plaid Cymru | G. Green | 358 | 25.7 | −6.8 |
| | Conservative | A. Ashley | 421 | 30.2 | +9.8 |
| | Liberal Democrats | J. Coburn | 134 | 9.6 | +1.3 |
| Turnout | Turnout | Turnout | | 49.8 | −1.8 |
| Registered electors | Registered electors | Registered electors | 2,837 | | |
| | Labour hold | Labour hold | Swing | | |

### Penylan (3 seats)

Penylan :
| Party | Party | Candidate | Votes | % | ±% |
| | Liberal Democrats | Tricia Burfoot | 2,607 | 54.2 | +2.0 |
| | Liberal Democrats | L. Kelloway | 2,440 | | |
| | Liberal Democrats | Freda Salway* | 2,438 | | |
| | Conservative | N. Morgan | 635 | 13.2 | −0.2 |
| | Labour | Ben Foday | 588 | 12.2 | −9.3 |
| | Labour | C. Derbyshire | 587 | | |
| | Labour | J. Jones | 573 | | |
| | Conservative | Peter Meyer | 558 | | |
| | Conservative | V. Stocqueler | 478 | | |
| | Independent | A. Verderame | 394 | 8.2 | N/A |
| | Plaid Cymru | M. Peterson | 345 | 7.2 | −5.6 |
| | Cardiff Independent Citizens | R. James | 237 | 4.9 | N/A |
| | Cardiff Independent Citizens | W. Morgan | 215 | | |
| Turnout | Turnout | Turnout | | 44.2 | −10.0 |
| Registered electors | Registered electors | Registered electors | 9,716 | | |
| | 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 | % | ±% |
| | Liberal Democrats | Rodney Berman | 2,009 | 39.6 | +11.2 |
| | Liberal Democrats | Elgan Morgan | 1,940 | | |
| | Liberal Democrats | Richard Jerrett | 1,872 | | |
| | Liberal Democrats | Mark Stephens | 1,835 | | |
| | Labour | Susan Lent* | 1,379 | 27.2 | −3.7 |
| | Labour | M. Javed | 1,257 | | |
| | Labour | D. McGarry | 1,141 | | |
| | Labour | M. Slater | 1,082 | | |
| | Green | A. Matthews | 775 | 15.3 | +2.8 |
| | Plaid Cymru | E. Parish | 498 | 9.8 | −8.3 |
| | Conservative | E. Harries | 414 | 8.2 | +0.9 |
| | Conservative | M. Smith | 329 | | |
| | Conservative | M. Hoban | 320 | | |
| | Conservative | P. Penson | 291 | | |
| Turnout | Turnout | Turnout | | 30.8 | −7.9 |
| Registered electors | Registered electors | Registered electors | 13,950 | | |
| | Liberal Democrats hold | Liberal Democrats hold | Swing | | |
| | Liberal Democrats gain from Labour | Liberal Democrats gain from Labour | Swing | | |
| | Liberal Democrats gain from Labour | Liberal Democrats gain from Labour | Swing | | |
| | Liberal Democrats gain from Labour | Liberal Democrats gain from Labour | Swing | | |

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

Pontprennau & Old St. Mellons :
| Party | Party | Candidate | Votes | % | ±% |
| | Conservative | Dianne Rees | 1,027 | 39.6 | +9.6 |
| | Labour | Georgina Phillips* | 939 | 36.2 | +1.0 |
| | Conservative | Greg Walker | 934 | | |
| | Labour | J. Imperato | 629 | | |
| | Liberal Democrats | A. Webb | 437 | 16.9 | −4.1 |
| | Liberal Democrats | C. Woodman | 341 | | |
| | Plaid Cymru | D. Jenkins | 188 | 7.3 | −6.5 |
| Turnout | Turnout | Turnout | | 38.9 | −6.8 |
| Registered electors | Registered electors | Registered electors | 6,141 | | |
| | Conservative gain from Labour | Conservative gain from Labour | Swing | | |
| | Labour hold | Labour hold | Swing | | |

### Radyr (1 seat)

Radyr :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Marion Drake | 917 | 42.7 | −17.2 |
| | Conservative | Roderick McKerlich | 860 | 40.1 | +20.4 |
| | Liberal Democrats | J. Griffiths | 202 | 9.4 | −5.3 |
| | Plaid Cymru | I. Hughes | 168 | 7.8 | +2.1 |
| Turnout | Turnout | Turnout | | 53.1 | −6.7 |
| Registered electors | Registered electors | Registered electors | 4,054 | | |
| | Labour hold | Labour hold | Swing | | |

### Rhiwbina (3 seats)

Rhiwbina :
| Party | Party | Candidate | Votes | % | ±% |
| | Conservative | Gareth Neale* | 2,698 | 50.9 | +10.8 |
| | Conservative | Jayne Cowan* | 2,617 | | |
| | Conservative | R. Robson | 2,335 | | |
| | Labour | P. Owen | 1,100 | 20.8 | −7.3 |
| | Liberal Democrats | S. Bowden | 1,019 | 19.2 | −0.1 |
| | Labour | N. Watson | 972 | | |
| | Liberal Democrats | P. Azzopardi | 916 | | |
| | Labour | G. Jones | 896 | | |
| | Liberal Democrats | A. Meikle | 786 | | |
| | Plaid Cymru | Falmai Griffiths | 481 | 9.1 | −3.4 |
| | Plaid Cymru | A. Brain | 475 | | |
| Turnout | Turnout | Turnout | | 54.5 | −2.0 |
| Registered electors | Registered electors | Registered electors | 9,260 | | |
| | Conservative hold | Conservative hold | Swing | | |
| | Conservative hold | Conservative hold | Swing | | |
| | Conservative hold | Conservative hold | Swing | | |

### Riverside (3 seats)

Riverside :
| Party | Party | Candidate | Votes | % | ±% |
| | Plaid Cymru | Gwenllian Lansdown | 1,448 | 32.2 | +11.9 |
| | Plaid Cymru | M-S Islam | 1,408 | | |
| | Labour | J. Austin | 1,280 | 28.5 | −2.2 |
| | Plaid Cymru | Neil McEvoy* | 1,248 | | |
| | Labour | O. Jones | 1,135 | | |
| | Labour | M. Marshall | 1,092 | | |
| | Liberal Democrats | S. Kelly | 693 | 15.4 | +5.9 |
| | Liberal Democrats | M. Hasan | 658 | | |
| | Green | J. Williams | 605 | 13.5 | +0.7 |
| | Liberal Democrats | G. Owen | 561 | | |
| | Conservative | A. Munro | 465 | 10.4 | +2.7 |
| Turnout | Turnout | Turnout | | 40.6 | −1.3 |
| Registered electors | Registered electors | Registered electors | 9,529 | | |
| | Plaid Cymru gain from Labour | Plaid Cymru gain from Labour | Swing | | |
| | Plaid Cymru gain from Labour | Plaid Cymru gain from Labour | Swing | | |
| | Labour hold | Labour hold | Swing | | |

### Rumney (2 seats)

Rumney :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Robert Derbyshire* | 903 | 39.7 | −8.0 |
| | Labour | S. Pantak* | 817 | | |
| | Conservative | John Ireland | 775 | 34.1 | +10.1 |
| | Conservative | Duncan MacDonald | 742 | | |
| | Liberal Democrats | Anabella Rees | 399 | 17.6 | +3.7 |
| | Liberal Democrats | L. Speake | 395 | | |
| | Plaid Cymru | J. Canning | 196 | 8.6 | +5.8 |
| Turnout | Turnout | Turnout | | 34.1 | −2.9 |
| Registered electors | Registered electors | Registered electors | 6,543 | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |

### Splott (3 seats)

Splott :
| Party | Party | Candidate | Votes | % | ±% |
| | Liberal Democrats | Gavin Cox | 1,474 | 37.2 | +21.9 |
| | Liberal Democrats | Alex Evans | 1,215 | | |
| | Labour | Clarissa Holland* | 1,199 | 30.3 | −23.9 |
| | Liberal Democrats | W. Dodson | 1,181 | | |
| | Labour | Martin Holland* | 1,104 | | |
| | Labour | J. Marshall | 1,000 | | |
| | Cardiff Independent Citizens | M. Merchant | 309 | 7.8 | N/A |
| | Green | A. Patton | 270 | 6.8 | N/A |
| | Conservative | K. Jones | 238 | 6.0 | −2.5 |
| | Conservative | A. McCarthy | 224 | | |
| | Plaid Cymru | L. Haines | 207 | 5.2 | −13.7 |
| | Plaid Cymru | T. Thompson | 193 | | |
| | Plaid Cymru | E. Evans | 168 | | |
| | ProLife | A. Savoury | 134 | 3.4 | N/A |
| | Socialist Alternative | D. Bartlett | 76 | 1.9 | −1.2 |
| | Socialist Alternative | K. Williams | 57 | | |
| | Communist | R. Cartwright | 56 | 1.4 | N/A |
| | Socialist Alternative | A. Gounelas | 52 | | |
| Turnout | Turnout | Turnout | | 37.4 | +2.2 |
| Registered electors | Registered electors | Registered electors | 8,647 | | |
| | Liberal Democrats gain from Labour | Liberal Democrats gain from Labour | Swing | | |
| | Liberal Democrats gain from Labour | Liberal Democrats gain from Labour | Swing | | |
| | Labour hold | Labour hold | Swing | | |

### Trowbridge (3 seats)

Trowbridge :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Ralph Cook* | 1,264 | 38.3 | −14.4 |
| | Labour | Monica Walsh | 1,033 | | |
| | Labour | D. English* | 921 | | |
| | Plaid Cymru | Clifford Furnish | 554 | 16.8 | −1.8 |
| | Independent | Simon Swanton | 508 | 15.4 | N/A |
| | Liberal Democrats | S. Griffiths | 496 | 15.0 | −0.8 |
| | Conservative | M. Blackmore | 476 | 14.4 | +1.5 |
| | Conservative | M. Jones | 429 | | |
| | Liberal Democrats | R. Hewlett | 423 | | |
| | Conservative | S. Channa | 391 | | |
| | Liberal Democrats | W. Muschamp | 359 | | |
| Turnout | Turnout | Turnout | | 25.1 | −3−3 |
| Registered electors | Registered electors | Registered electors | 10,190 | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |

### Whitchurch & Tongwynlais (4 seats)

Whitchurch & Tongwynlais :
| Party | Party | Candidate | Votes | % | ±% |
| | Conservative | Timothy Davies | 2,329 | 33.9 | +6.1 |
| | Conservative | Linda Morgan | 2,282 | | |
| | Conservative | W. Griffiths | 2,269 | | |
| | Labour | Sophie Howe* | 2,266 | 32.9 | +4.9 |
| | Conservative | M. Jones-Pritchard | 2,180 | | |
| | Labour | Peter Howe | 1,956 | | |
| | Labour | J. Campbell | 1,799 | | |
| | Labour | P. Mitchell | 1,631 | | |
| | Liberal Democrats | S. Spear | 1,060 | 15.4 | +4.8 |
| | Liberal Democrats | G. Mellem | 1,039 | | |
| | Liberal Democrats | S. Lillystone | 920 | | |
| | Liberal Democrats | N. White | 905 | | |
| | Plaid Cymru | A. Evans | 742 | 10.8 | −2.0 |
| | Plaid Cymru | J. Rowlands | 724 | | |
| | Plaid Cymru | H. Jones | 720 | | |
| | Plaid Cymru | Delwyn Sion | 711 | | |
| | Cardiff Independent Citizens | V. Riley | 481 | 7.0 | N/A |
| Turnout | Turnout | Turnout | | 50.4 | −6.7 |
| Registered electors | Registered electors | Registered electors | 12,680 | | |
| | Conservative hold | Conservative hold | Swing | | |
| | Conservative gain from Labour | Conservative gain from Labour | Swing | | |
| | Conservative gain from Labour | Conservative gain from Labour | Swing | | |
| | Labour hold | Labour hold | Swing | | |

## By-elections between 2004 and 2008

There were no by-elections.