# 1999 Cardiff Council election

The 1999 Cardiff Council election was the second election to the post-1996 Cardiff Council following the re-organization of local government in Wales. It was held on Thursday 6 May 1999. It was preceded by the 1995 election and followed by the 2004 elections. On the same day the first elections to the Welsh Assembly were held as well as elections to the other 21 local authorities in Wales. Labour retained a majority of the seats.

## Overview

All council seats were up for election. This was the second election to be held following local government reorganisation and the abolition of South Glamorgan County Council. In 1995 the ward boundaries for the new authority were based on the previous Cardiff City Council but, effective from the 1999 election, The City and County of Cardiff (Electoral Arrangements) Order 1998 increased the number of wards to 29 and the number of councillors to 75.
Five new seats were created by adding additional seats to five existing wards. Labour won three of the new seats and the Liberal Democrats won the remaining two.

## Outcome

The Labour Party won a comfortable majority of seats although it lost some ground compared to the inaugural elections four years previously. Of the 67 councillors elected in 1995, 43 were again returned in 1999 (38 Labour, 4 Liberal Democrat and 1 Plaid Cymru).
Betty Campbell, a community campaigner, former headteacher and Butetown councillor between 1991 and 1995, was the only independent councillor elected.
Cardiff Council election result 1999 :
| Party | Seats | Gains | Losses | Net gain/loss | Seats % | Votes % | Votes |
| Labour | 51 | 3 | 10 | -7 | 68.0 | 40.4 | 101,756 |
| Liberal Democrats | 17 | 8 | 0 | +8 | 22.7 | 28.6 | 72,190 |
| Conservative | 5 | 4 | 0 | +4 | 6.7 | 19.9 | 50,099 |
| Plaid Cymru | 1 | 0 | 0 | 0 | 1.3 | 8.5 | 21,384 |
| Green | 0 | 0 | 0 | 0 | 0.0 | 1.6 | 3,984 |
| Independent Labour | 0 | 0 | 0 | 0 | 0.0 | 0.4 | 1,053 |
| Socialist Alternative | 0 | 0 | 0 | 0 | 0.0 | 0.2 | 604 |
| Communist | 0 | 0 | 0 | 0 | 0.0 | 0.1 | 267 |
| Residents | 0 | 0 | 0 | 0 | 0.0 | 0.1 | 263 |
| Independent | 1 | 1 | 0 | +1 | 1.3 | 0.2 | 507 |

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

Adamsdown :
| Party | Party | Candidate | Votes | % | ±% |
| | Liberal Democrats | Nigel Howells | 1,156 | 50.2 | +21.2 |
| | Liberal Democrats | John Dixon | 1,010 | | |
| | Labour | Kenneth Hutchings* | 817 | 35.5 | −12.0 |
| | Labour | Catherine Colley | 805 | | |
| | Plaid Cymru | Terence O'Neill | 255 | 11.1 | +6.2 |
| | Communist | Rhian Cartwight | 74 | 3.2 | +1.4 |
| Turnout | Turnout | Turnout | | 41.0 | +0.5 |
| Registered electors | Registered electors | Registered electors | 5,374 | | |
| | Liberal Democrats gain from Labour | Liberal Democrats gain from Labour | Swing | | |
| | Liberal Democrats gain from Labour | Liberal Democrats gain from Labour | Swing | | |

### Butetown (1 seat)

Butetown :
| Party | Party | Candidate | Votes | % | ±% |
| | Independent | Betty Campbell | 507 | 43.1 | N/A |
| | Labour | Mohammed Javed | 364 | 31.0 | −47.3 |
| | Plaid Cymru | Neil Sinclair | 162 | 13.8 | +5.5 |
| | Liberal Democrats | Manuel Dossantos | 81 | 6.9 | +1.1 |
| | Conservative | Ronald Thomas | 61 | 5.2 | −2.4 |
| Turnout | Turnout | Turnout | | 41.6 | +10.5 |
| Registered electors | Registered electors | Registered electors | 2,930 | | |
| | Independent gain from Labour | Independent gain from Labour | Swing | | |

### Caerau (2 seats)

Caerau :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Harry Ernest* | 1,280 | 46.9 | +0.4 |
| | Liberal Democrats | Jacqui Gasson* | 1,080 | 39.5 | −9.3 |
| | Labour | Julie Mawn | 1,009 | | |
| | Liberal Democrats | Steven Coles | 633 | | |
| | Plaid Cymru | Robert Garland | 194 | 7.1 | +5.3 |
| | Conservative | Alan Horwood | 178 | 6.5 | +3.6 |
| | Conservative | Wendy Rees | 148 | | |
| Turnout | Turnout | Turnout | | 34.2 | −0.7 |
| Registered electors | Registered electors | Registered electors | 7,173 | | |
| | Labour hold | Labour hold | Swing | | |
| | Liberal Democrats hold | Liberal Democrats hold | Swing | | |

### Canton (3 seats)

Canton :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Kevin Brennan* | 2,379 | 41.6 | −10.0 |
| | Labour | Cherry Short* | 1,882 | | |
| | Labour | David Thomas* | 1,773 | | |
| | Plaid Cymru | Keith Bush | 1,386 | 24.3 | +15.9 |
| | Conservative | Harold Burns | 771 | 13.5 | +3.2 |
| | Conservative | Ronald Trigg | 668 | | |
| | Conservative | Helen Cox | 638 | | |
| | Liberal Democrats | Glenys Hannam | 613 | 10.7 | −12.4 |
| | Liberal Democrats | Margaret Fawcett | 606 | | |
| | Green | Vivien Turner | 566 | 9.9 | +3.4 |
| | Liberal Democrats | Steven Jeffreys | 484 | | |
| Turnout | Turnout | Turnout | | 45.2 | +3.5 |
| Registered electors | Registered electors | Registered electors | 10,315 | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |

### Cathays (4 seats)

An additional fourth seat was created in this ward.
Cathays :
| Party | Party | Candidate | Votes | % | ±% |
| | Liberal Democrats | Jonathan Aylwin | 2,439 | 36.4 | −1.4 |
| | Liberal Democrats | Fred Hornblow* | 2,285 | | |
| | Liberal Democrats | Jane Reece | 2,060 | | |
| | Liberal Democrats | Simon Wakefield | 1,992 | | |
| | Labour | Sarah Merry* | 1,555 | 23.2 | −17.4 |
| | Labour | Kathryn Slade* | 1,466 | | |
| | Labour | David Hagendyk | 1,437 | | |
| | Plaid Cymru | Carwyn Fowler | 1,257 | 18.8 | +9.8 |
| | Labour | Reginald Surridge | 1,173 | | |
| | Green | Nick Clark | 838 | 12.5 | +2.6 |
| | Conservative | Kim Summerhayes | 422 | 6.3 | N/A |
| | Conservative | William Selwood | 202 | | |
| | Communist | John Lent | 193 | 2.9 | +0.1 |
| Turnout | Turnout | Turnout | | 39.6 | +1.8 |
| Registered electors | Registered electors | Registered electors | 12,825 | | |
| | Liberal Democrats gain from Labour | Liberal Democrats gain from Labour | Swing | | |
| | Liberal Democrats hold | Liberal Democrats hold | Swing | | |
| | Liberal Democrats gain from Labour | Liberal Democrats gain from Labour | Swing | | |
| | Liberal Democrats win (new seat) | Liberal Democrats win (new seat) | Liberal Democrats win (new seat) | Liberal Democrats win (new seat) | Liberal Democrats win (new seat) |

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

Creigiau & St. Fagans :
| Party | Party | Candidate | Votes | % | ±% |
| | Plaid Cymru | Delme Bowen | 818 | 53.7 | +10.5 |
| | Conservative | Diana Abuzaid | 342 | 22.5 | +12.5 |
| | Labour | Michael Kelly | 227 | 14.9 | −7.5 |
| | Liberal Democrats | Peter Borrow | 135 | 8.9 | +6.5 |
| Turnout | Turnout | Turnout | | 52.7 | +4.1 |
| Registered electors | Registered electors | Registered electors | 2,908 | | |
| | Plaid Cymru hold | Plaid Cymru hold | Swing | | |

### Cyncoed (3 seats)

Cyncoed :
| Party | Party | Candidate | Votes | % | ±% |
| | Liberal Democrats | Jenny Randerson* | 3,028 | 53.3 | −3.5 |
| | Liberal Democrats | J. Owen Pryce* | 2,507 | | |
| | Liberal Democrats | Kathryn Lloyd | 2,418 | | |
| | Conservative | Joan Gibby | 1.113 | 19.6 | −3.9 |
| | Conservative | Peter Meyer | 1,088 | | |
| | Conservative | Vivian Pearcey | 1,048 | | |
| | Labour | Adrian Matthewson | 754 | 13.3 | −0.6 |
| | Labour | Malcolm Marshall | 601 | | |
| | Labour | Prabhat Verma | 580 | | |
| | Plaid Cymru | Huw Lewis | 534 | 9.4 | +6.1 |
| | Green | Dianne Corker | 255 | 4.5 | +1.9 |
| Turnout | Turnout | Turnout | | 59.2 | +7.0 |
| Registered electors | Registered electors | Registered electors | 8,740 | | |
| | 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,809 | 50.5 | −27.1 |
| | Labour | Charles Gale* | 1,793 | | |
| | Labour | Russell Goodway* | 1,452 | | |
| | Liberal Democrats | Jennifer Davies | 728 | 20.3 | +12.7 |
| | Plaid Cymru | Harri Parri | 531 | 14.8 | +9.3 |
| | Liberal Democrats | Robin Fawcett | 521 | | |
| | Conservative | Michael Rees | 513 | 14.3 | +5.0 |
| | Liberal Democrats | Roydon Leyshon | 50 | | |
| Turnout | Turnout | Turnout | | 30.4 | +1.4 |
| Registered electors | Registered electors | Registered electors | 10,125 | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |

### Fairwater (3 seats)

Fairwater :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Maxwell Phillips* | 1,968 | 48.7 | −23.7 |
| | Labour | Michael Michael* | 1,774 | | |
| | Labour | Derek Rees* | 1,598 | | |
| | Conservative | Dorothy Marks | 717 | 17.7 | +6.4 |
| | Liberal Democrats | Stewart Pye | 690 | 17.1 | +7.3 |
| | Plaid Cymru | Diana Bianchi | 669 | 16.5 | +10.0 |
| | Liberal Democrats | Hilary Borrow | 665 | | |
| | Liberal Democrats | Nia Roberts | 645 | | |
| Turnout | Turnout | Turnout | | 36.3 | +2.3 |
| Registered electors | Registered electors | Registered electors | 9,692 | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |

### Gabalfa (2 seats)

An additional second seat was created in this ward.
Gabalfa :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | R. Ian Brown | 948 | 37.2 | −33.0 |
| | Labour | Jean Wilkinson* | 867 | | |
| | Plaid Cymru | Alan Jobbins | 607 | 23.8 | +17.0 |
| | Liberal Democrats | Cathy Pearcy | 607 | 23.8 | +14.7 |
| | Liberal Democrats | Kelly Gubbin | 573 | | |
| | Conservative | Graham Thomas | 385 | 15.1 | +4.2 |
| | Conservative | Alexandra Mortimer | 364 | | |
| Turnout | Turnout | Turnout | | 36.0 | +3.3 |
| Registered electors | Registered electors | Registered electors | 6,639 | | |
| | 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) |

### Grangetown (3 seats)

Grangetown :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | John Smith* | 1,859 | 52.6 | −5.9 |
| | Labour | Lynda Thorne* | 1,831 | | |
| | Labour | Peter Perkins* | 1,742 | | |
| | Plaid Cymru | Patrick Daley | 608 | 17.2 | +11.6 |
| | Conservative | Jean Summerhayes | 547 | 15.5 | −0.5 |
| | Conservative | Frances Arnold | 546 | | |
| | Liberal Democrats | Mary Horton | 518 | 14.7 | +8.4 |
| | Liberal Democrats | Graham Feeney | 505 | | |
| | Conservative | Douglas Gentles | 503 | | |
| | Liberal Democrats | Desmond Sanford | 398 | | |
| Turnout | Turnout | Turnout | | 34.7 | −1.1 |
| Registered electors | Registered electors | Registered electors | 9,649 | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |

### Heath (3 seats)

Heath :
| Party | Party | Candidate | Votes | % | ±% |
| | Liberal Democrats | John James | 1,826 | 29.7 | −3.9 |
| | Labour | Graham Hinchey* | 1,763 | 28.7 | −6.9 |
| | Liberal Democrats | Graham Harris | 1,760 | | |
| | Conservative | Greville Tatham | 1,479 | 24.0 | +1.3 |
| | Liberal Democrats | Alastair Meikle | 1,424 | | |
| | Labour | Gloria Jenkins | 1,415 | | |
| | Conservative | Howard Philpott | 1,336 | | |
| | Conservative | Wayne Warlow | 1,237 | | |
| | Labour | Gerard Moreton | 1,189 | | |
| | Plaid Cymru | Nans Couch | 706 | 11.5 | +7.7 |
| | Green | Chris Von Ruhland | 376 | 6.1 | +1.9 |
| Turnout | Turnout | Turnout | | 62.1 | +8.0 |
| Registered electors | Registered electors | Registered electors | 9,338 | | |
| | Liberal Democrats gain from Labour | Liberal Democrats gain from Labour | Swing | | |
| | Labour hold | Labour hold | Swing | | |
| | Liberal Democrats hold | Liberal Democrats hold | Swing | | |

### Lisvane (1 seat)

Lisvane :
| Party | Party | Candidate | Votes | % | ±% |
| | Conservative | David Walker | 1,005 | 61.6 | +5.9 |
| | Labour | Marie Pryce | 270 | 16.6 | −7.0 |
| | Liberal Democrats | A. Peter Saunders | 251 | 15.4 | +1.3 |
| | Plaid Cymru | Anthony Couch | 105 | 6.4 | +2.8 |
| Turnout | Turnout | Turnout | | 62.5 | +22.7 |
| Registered electors | Registered electors | Registered electors | 2,664 | | |
| | Conservative hold | Conservative hold | Swing | | |

### Llandaff (2 seats)

Llandaff :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Gregory Owens* | 1,525 | 36.5 | −7.5 |
| | Labour | John Sheppard* | 1,409 | | |
| | Conservative | Julius Hermer | 1,357 | 32.5 | −0.4 |
| | Conservative | Andrew Gretton | 1,226 | | |
| | Plaid Cymru | Gwen Jones | 659 | 15.8 | +6.3 |
| | Liberal Democrats | Jeffery Evans | 637 | 15.2 | +6.7 |
| | Liberal Democrats | Lee Stewart | 516 | | |
| Turnout | Turnout | Turnout | | 55.7 | +8.5 |
| Registered electors | Registered electors | Registered electors | 7,164 | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |

### Llandaff North (2 seats)

Llandaff North :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Anthony Earle* | 1,520 | 55.2 | −16.5 |
| | Labour | Philip Robinson* | 1,251 | | |
| | Plaid Cymru | Ceri James | 429 | 15.6 | +10.9 |
| | Liberal Democrats | Ann James | 417 | 15.2 | +5.4 |
| | Conservative | Ceri-Ann Fox | 386 | 14.0 | +3.6 |
| | Conservative | John Marshall | 337 | | |
| | Liberal Democrats | Teresa Lewis | 274 | | |
| Turnout | Turnout | Turnout | | 42.7 | +1.2 |
| Registered electors | Registered electors | Registered electors | 5,990 | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |

### Llanishen (4 seats)

An additional fourth seat was created in this ward.
Llanishen :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Nicholas Butler* | 2,436 | 39.4 | −18.5 |
| | Labour | Garry Hunt* | 2,427 | | |
| | Labour | Christopher Bettinson* | 2,363 | | |
| | Labour | Gretta Albinus | 2,354 | | |
| | Conservative | Yvonne Jenkins | 1,608 | 26.0 | −0.3 |
| | Conservative | Kenneth Roberts | 1,608 | | |
| | Conservative | Stephen Gardener | 1,486 | | |
| | Conservative | Robert Trethewey | 1,385 | | |
| | Liberal Democrats | Philip Hampton | 1,081 | 17.5 | +6.9 |
| | Plaid Cymru | Lona Roberts | 1,052 | 17.0 | +11.8 |
| | Liberal Democrats | Graham Hallett | 1,016 | | |
| | Liberal Democrats | Veronica Hallett | 1,011 | | |
| | Liberal Democrats | John Frankham-Barnes | 1,002 | | |
| Turnout | Turnout | Turnout | | 50.0 | +1.4 |
| Registered electors | Registered electors | Registered electors | 11,645 | | |
| | 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) |

### Llanrumney (3 seats)

Llanrumney :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Gillian Bird* | 1,705 | 54.4 | −13.0 |
| | Labour | Brian James* | 1,514 | | |
| | Labour | Christine James | 1,403 | | |
| | Plaid Cymru | C. Lewis | 613 | 19.6 | +14.6 |
| | Plaid Cymru | Christopher Hoyle | 493 | | |
| | Plaid Cymru | David Reeves | 481 | | |
| | Conservative | Stephen Woods | 386 | 12.3 | +4.9 |
| | Conservative | Hayley Lewis | 343 | | |
| | Conservative | Francis Prew | 318 | | |
| | Liberal Democrats | Elizabeth Hill | 314 | 10.0 | +5.8 |
| | Liberal Democrats | Philip Bramhall | 283 | | |
| | Liberal Democrats | W. Jeremy | 281 | | |
| | Socialist Alternative | D. Bartlett | 115 | 3.7 | N/A |
| | Socialist Alternative | G. Evans | 69 | | |
| | Socialist Alternative | K. Williams | 56 | | |
| Turnout | Turnout | Turnout | | 36.9 | +0.6 |
| Registered electors | Registered electors | Registered electors | 8,109 | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |

### Pentwyn (4 seats)

An additional fourth seat was created in this ward.
Pentwyn :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Vita Jones* | 1,880 | 41.9 | −27.8 |
| | Labour | Brian Pinnell* | 1,745 | | |
| | Labour | James Regan* | 1,658 | | |
| | Liberal Democrats | William Cookson | 1,575 | 35.1 | +19.6 |
| | Liberal Democrats | J. Fletcher | 1,559 | | |
| | Labour | D. Richards | 1,522 | | |
| | Liberal Democrats | B. Parsons | 1,386 | | |
| | Liberal Democrats | G. Horton | 1,351 | | |
| | Plaid Cymru | D. Henry | 589 | 13.1 | +6.1 |
| | Conservative | J. Goodwin | 439 | 9.8 | +2.0 |
| | Conservative | G. Hughes | 423 | | |
| Turnout | Turnout | Turnout | | 37.8 | +6.5 |
| Registered electors | Registered electors | Registered electors | 10,692 | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |
| | Liberal Democrats win (new seat) | Liberal Democrats win (new seat) | Liberal Democrats win (new seat) | Liberal Democrats win (new seat) | Liberal Democrats win (new seat) |

### Pentyrch (1 seat)

Pentyrch :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Christine Priday* | 547 | 38.9 | −4.3 |
| | Plaid Cymru | Penri Williams | 456 | 32.5 | +2.6 |
| | Conservative | A. Walker | 286 | 20.4 | N/A |
| | Liberal Democrats | R. Burley | 116 | 8.3 | +7.1 |
| Turnout | Turnout | Turnout | | 51.6 | −1.3 |
| Registered electors | Registered electors | Registered electors | 2,726 | | |
| | Labour hold | Labour hold | Swing | | |

### Penylan (3 seats)

Penylan :
| Party | Party | Candidate | Votes | % | ±% |
| | Liberal Democrats | L. Kelloway | 2,846 | 52.2 | +5.2 |
| | Liberal Democrats | P. Burfoot | 2,774 | | |
| | Liberal Democrats | Freda Salway* | 2,700 | | |
| | Labour | J. Anderson | 1,173 | 21.5 | −5.4 |
| | Labour | C. Bewes | 977 | | |
| | Labour | J. Imperato | 965 | | |
| | Conservative | L. Johnson | 733 | 13.4 | −1.6 |
| | Plaid Cymru | C. Pugh | 700 | 12.8 | −6.6 |
| | Conservative | Peter Meyer | 688 | | |
| | Conservative | V. Stocqueler | 591 | | |
| Turnout | Turnout | Turnout | | 54.2 | +13.0 |
| Registered electors | Registered electors | Registered electors | 9,515 | | |
| | 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 | A. Cox* | 2,149 | 30.9 | −25.3 |
| | Liberal Democrats | H. Douglas | 1,974 | 28.4 | +16.6 |
| | Labour | Susan Lent* | 1,965 | | |
| | Labour | P. Morris* | 1,930 | | |
| | Liberal Democrats | Mark Stephens | 1,860 | | |
| | Liberal Democrats | V. Snell | 1,727 | | |
| | Labour | Geoff Mungham* | 1,529 | | |
| | Plaid Cymru | E. Parish | 1,259 | 18.1 | +5.9 |
| | Liberal Democrats | Rodney Berman | 1,042 | | |
| | Green | P. Ward | 871 | 12.5 | +2.5 |
| | Conservative | G. Donaldson | 506 | 7.3 | +0.3 |
| | Conservative | V. Palmer | 439 | | |
| | Communist | S. O'Brien | 194 | 2.8 | ±0.0 |
| Turnout | Turnout | Turnout | | 38.7 | +3.5 |
| Registered electors | Registered electors | Registered electors | 13,693 | | |
| | Labour hold | Labour hold | Swing | | |
| | Liberal Democrats gain from Labour | Liberal Democrats gain from Labour | Swing | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |

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

Pontprennau & Old St. Mellons :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | P. Cubitt | 855 | 35.2 | +11.6 |
| | Labour | Georgina Phillips | 839 | | |
| | Conservative | Dianne Rees | 728 | 30.0 | −25.7 |
| | Conservative | S. Whiting | 627 | | |
| | Liberal Democrats | A. Evans | 510 | 21.0 | +6.9 |
| | Plaid Cymru | D. Jenkins | 336 | 13.8 | +10.2 |
| | Liberal Democrats | L. Fletcher | 327 | | |
| Turnout | Turnout | Turnout | | 45.7 | +7.7 |
| Registered electors | Registered electors | Registered electors | 5,017 | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |

### Radyr (1 seat)

Radyr :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Marion Drake | 1,296 | 59.9 | −7.7 |
| | Conservative | C. Kolmar | 427 | 19.7 | −4.2 |
| | Liberal Democrats | D. Garrow-Smith | 318 | 14.7 | +10.4 |
| | Plaid Cymru | M. Goode | 123 | 5.7 | +1.6 |
| Turnout | Turnout | Turnout | | 59.8 | +7.9 |
| Registered electors | Registered electors | Registered electors | 3,620 | | |
| | Labour hold | Labour hold | Swing | | |

### Rhiwbina (3 seats)

Rhiwbina :
| Party | Party | Candidate | Votes | % | ±% |
| | Conservative | Gareth Neale* | 2,528 | 40.1 | +4.3 |
| | Conservative | Jayne Cowan | 2,248 | | |
| | Conservative | Jack Scherer | 2,042 | | |
| | Labour | P. Owen* | 1,770 | 28.1 | −12.9 |
| | Labour | P. Hunt | 1,647 | | |
| | Labour | N. Watson | 1,534 | | |
| | Liberal Democrats | A. Evans | 1,213 | 19.3 | +5.0 |
| | Liberal Democrats | S. Spear | 1,113 | | |
| | Liberal Democrats | J. Richards | 1,070 | | |
| | Plaid Cymru | Falmai Griffiths | 786 | 12.5 | +7.1 |
| Turnout | Turnout | Turnout | | 56.5 | +2.0 |
| Registered electors | Registered electors | Registered electors | 9,350 | | |
| | 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 | | |

### Riverside (3 seats)

Riverside :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | P. Mitchell | 1,670 | 30.7 | −27.7 |
| | Labour | D. Sharpe | 1,462 | | |
| | Labour | Neil McEvoy | 1,408 | | |
| | Plaid Cymru | A. Balcombe | 1,103 | 20.3 | +6.8 |
| | Residents | J. Singh* | 777 | 14.3 | N/A |
| | Green | P. Lukes | 695 | 12.8 | +1.6 |
| | Liberal Democrats | A. Wigley | 517 | 9.5 | +0.8 |
| | Liberal Democrats | D. Forward | 465 | | |
| | Liberal Democrats | R. Hewlett | 457 | | |
| | Conservative | M. Evans | 420 | 7.7 | −0.6 |
| | Conservative | W. Donaldson | 411 | | |
| | Conservative | C. Trigg | 323 | | |
| | Socialist Alternative | A. Conchar | 263 | 4.8 | N/A |
| Turnout | Turnout | Turnout | | 41.9 | +4.7 |
| Registered electors | Registered electors | Registered electors | 9,204 | | |
| | 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,212 | 47.7 | −13.4 |
| | Labour | S. Pantak* | 1,079 | | |
| | Conservative | R. Hollands-Roberts | 611 | 24.0 | +13.7 |
| | Conservative | L. Morgan | 503 | | |
| | Plaid Cymru | D. Owen | 366 | 14.4 | +11.8 |
| | Liberal Democrats | D. Hourahane | 353 | 13.9 | +10.2 |
| | Liberal Democrats | D. Rees | 347 | | |
| Turnout | Turnout | Turnout | | 37.0 | +0.5 |
| Registered electors | Registered electors | Registered electors | 6,571 | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |

### Splott (3 seats)

An additional third seat was created in this ward.
Splott :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Clarissa Holland* | 1,763 | 54.2 | −8.1 |
| | Labour | G. Houlston* | 1,649 | | |
| | Labour | Martin Holland | 1,591 | | |
| | Plaid Cymru | A. O'Neill | 614 | 18.9 | +14.8 |
| | Liberal Democrats | K. Chubb | 497 | 15.3 | +12.2 |
| | Liberal Democrats | M. Mathias | 431 | | |
| | Liberal Democrats | S. Reece | 329 | | |
| | Conservative | J. McCarthy | 278 | 8.5 | +5.3 |
| | Conservative | B. Jeffreys | 269 | | |
| | Conservative | C. Prew | 214 | | |
| | Socialist Alternative | D. Reid | 101 | 3.1 | N/A |
| Turnout | Turnout | Turnout | | 35.2 | −11.4 |
| Registered electors | Registered electors | Registered electors | 8,133 | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |

### Trowbridge (3 seats)

An additional third seat was created in this ward.
Trowbridge :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | R. Cook | 1,424 | 52.7 | −22.3 |
| | Labour | L. Ackerman | 1,272 | | |
| | Labour | D. English* | 1,200 | | |
| | Plaid Cymru | D. Williams | 502 | 18.6 | +14.5 |
| | Liberal Democrats | A. Northmore-Thomas | 427 | 15.8 | +8.9 |
| | Liberal Democrats | A. Thomas | 427 | | |
| | Liberal Democrats | H. Northmore-Thomas | 385 | | |
| | Conservative | B-A Jenkins | 347 | 12.9 | +3.8 |
| | Conservative | A. Cox | 316 | | |
| Turnout | Turnout | Turnout | | 28.4 | +0.6 |
| Registered electors | Registered electors | Registered electors | 9,185 | | |
| | 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) |

### Whitchurch & Tongwynlais (4 seats)

Whitchurch & Tongwynlais :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Sophie Howe | 2,287 | 28.0 | +20.6 |
| | Conservative | W. Griffiths | 2,276 | 27.8 | +1.0 |
| | Labour | K. Price* | 2,271 | | |
| | Labour | R. Pearson* | 2,165 | | |
| | Labour | W. Thomas | 2,131 | | |
| | Conservative | Brian Griffiths | 2,039 | | |
| | Conservative | Timothy Davies | 2,028 | | |
| | Conservative | D. Williams-Masinda | 1,608 | | |
| | Independent Labour | W. Salmon* | 1,053 | 12.9 | N/A |
| | Plaid Cymru | G. Lewis | 1,049 | 12.8 | +1.2 |
| | Plaid Cymru | Colin Palfrey | 998 | | |
| | Plaid Cymru | John Rowlands | 965 | | |
| | Plaid Cymru | Delwyn Sion | 944 | | |
| | Liberal Democrats | A. Leavers | 869 | 10.6 | +2.3 |
| | Liberal Democrats | G. Mellen | 743 | | |
| | Liberal Democrats | P. Azzopardi | 684 | | |
| | Liberal Democrats | D. Wright | 663 | | |
| | Green | S. Martin | 383 | 4.7 | ±0.0 |
| | Independent | Victor Riley | 263 | 3.2 | N/A |
| Turnout | Turnout | Turnout | | 57.1 | +4.6 |
| Registered electors | Registered electors | Registered electors | 12,145 | | |
| | Labour hold | Labour hold | Swing | | |
| | Conservative gain from Labour | Conservative gain from Labour | Swing | | |
| | Labour hold | Labour hold | Swing | | |
| | Labour hold | Labour hold | Swing | | |

## By-elections between 1999 and 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 | | 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.