Psephology.AI
    All years

    1998 council by-elections

    297 by-elections on our record, 47 of them won by a different party from last time.

    Gains and losses by party

    PartyGainedLostNet
    Conservative257▲ +18
    SNP30▲ +3
    Liberal Democrats1413▲ +1
    Plaid Cymru - The Party of Wales10▲ +1
    Labour427▼ -23

    Every by-election

    DateWardWinnerPreviously
    15 JanSevenoaks Northern [merged 6d88686a]SevenoaksLiberal Democrats 57.4%Hold
    15 JanPrestonTorbayConservative 46.3%Gain from Liberal Democrats
    22 JanMauldenBedfordshireConservative 57.9%Not known
    22 JanKirtlingtonCherwellConservative 38.4%Hold
    22 JanThe SwaffhamsEast CambridgeshireLiberal Democrats 53.9%Not known
    22 JanFroxfield and SteepEast HampshireConservative 60.5%Hold
    22 JanGarrowhillGlasgowSNP 49.4%Gain from Labour
    22 JanBradninchMid DevonLiberal Democrats 55.2%Hold
    29 JanTodmordenCalderdaleLiberal Democrats 63.8%Gain from Labour
    29 JanKemsing [merged 8f8c38c3]SevenoaksConservative 50.7%Gain from Liberal Democrats
    5 FebSt. Ives SouthCornwallIndependent 38.5%Not known
    5 FebSt. Ives SouthPenwithConservative 40.0%Not known
    12 FebStainforthDoncasterLiberal Democrats 55.9%Gain from Labour
    12 FebCheadle North EastStaffordshire MoorlandsResidents 50.1%Not known
    19 FebWestonBath & North East SomersetLiberal Democrats 45.4%Not known
    19 FebSetonBerwick-upon-TweedLiberal Democrats 57.9%Not known
    19 FebIlfracombeDevonConservative 45.5%Not known
    19 FebSouthGillinghamLiberal Democrats 54.3%Not known
    19 FebIlfracombe Central [merged ea9d04ac]North DevonNot recordedHold
    19 FebColerneNorth WiltshireLiberal Democrats 58.3%Not known
    19 FebChalkwellSouthend-On-SeaConservative 48.1%Gain from Liberal Democrats
    19 FebBrockworth GlebeTewkesburyLabour 64.4%Hold
    19 FebGuntonWaveneyLabour 48.2%Hold
    26 FebGarthdeeAberdeenLiberal Democrats 51.2%Not known
    26 FebHoly LochArgyll and ButeSNP 33.4%Hold
    26 FebPimhillShrewsbury and AtchamLiberal Democrats 61.8%Not known
    4 MarSheltonStoke On TrentLiberal Democrats 48.3%Not known
    5 MarWorsbroughBarnsleyLabour 71.2%Hold
    5 MarHelston NorthKerrierConservative 48.3%Gain from Liberal Democrats
    5 MarHipswellRichmondshireLiberal Democrats 57.5%Not known
    12 MarCefn CribwrBridgendPlaid Cymru - The Party of Wales 68.0%Not known
    12 MarLaleston/Merthyr MawrBridgendLiberal Democrats 48.0%Not known
    12 MarCabotBristol, City ofLiberal Democrats 57.5%Not known
    12 MarSt. HelensHastingsLiberal Democrats 40.3%Hold
    12 MarWoolstonSouthamptonLabour 47.8%Hold
    12 MarGroveVale Of White HorseLiberal Democrats 45.0%Hold
    19 MarCrinnisRestormelConservative 57.8%Not known
    19 MarBamber Bridge SouthSouth RibbleLabour 47.5%Not known
    26 MarKeswickAllerdaleLiberal Democrats 45.7%Gain from Labour
    26 MarRustington SouthArunConservative 61.4%Hold
    26 MarUpper WensumBrecklandConservative 47.1%Not known
    26 MarSprowston EastBroadlandConservative 36.7%Gain from Labour
    26 MarHolborn HillCopelandConservative 57.4%Not known
    26 MarWeoberleyHerefordshireNot recordedHold
    2 AprHaddenhamAylesbury ValeLiberal Democrats 55.8%Hold
    2 AprClystbeareEast DevonConservative 57.5%Not known
    2 AprEynesburyHuntingdonshireConservative 44.5%Gain from Liberal Democrats
    2 AprUskMonmouthshireConservative 44.3%Hold
    2 AprGreenlandsRedditchLabour 53.9%Not known
    2 AprLower DaleRichmondshireConservativeNot known
    2 AprGreenmeadow [merged 5e17f8dd]TorfaenLabourNot known
    2 AprParkWansbeckLabour 55.9%Not known
    2 AprHerstmonceuxWealdenConservative 64.6%Not known
    2 AprWhorwellsdownWiltshireConservative 50.4%Not known
    7 AprStokesleyHambletonConservative 50.3%Gain from Liberal Democrats
    16 AprBartonDoverLabour 61.9%Not known
    16 AprKibworthHarboroughLiberal Democrats 52.6%Not known
    16 AprSwadlincote [merged f5b761c5]South DerbyshireLabour 58.5%Hold
    16 AprCairnsSouth LanarkshireLabour 47.3%Hold
    19 AprUffordSuffolk CoastalConservative 68.7%Hold
    21 AprBoothferryKingston Upon Hull, City ofLiberal Democrats 69.6%Hold
    23 AprCramlington EastBlyth ValleyLabour 70.2%Hold
    23 AprDownhamEast CambridgeshireNot recordedNot known
    23 AprBlackbrookHigh PeakLiberal Democrats 50.8%Hold
    23 AprStreet NorthMendipLiberal Democrats 39.4%Hold
    23 AprBilsthorpeNewark And SherwoodLabourHold
    23 AprKedingtonSt EdmundsburyLabour 41.1%Hold
    23 AprMinehead NorthWest SomersetConservative 42.7%Gain from Labour
    23 AprLane End & PiddingtonWycombeLiberal Democrats 46.1%Hold
    30 AprHornbyLancasterConservative 53.6%Not known
    30 AprParksLancasterNot recordedNot known
    30 AprTadcaster WestSelbyLabour 30.0%Gain from Conservative
    30 AprBiddulph SouthStaffordshire MoorlandsLiberal Democrats 55.7%Not known
    30 AprBlackwaterTest ValleyConservative 72.8%Hold
    30 AprTadburnTest ValleyLiberal Democrats 50.1%Hold
    7 MaySt. MichaelsAllerdaleLabour 74.2%Hold
    7 MayMartonBlackpoolConservative 48.1%Not known
    7 MayPortslade SouthBrighton & HoveLabour 62.5%Hold
    7 MayRottingdeanBrighton & HoveConservative 58.8%Not known
    7 MayBeeston CentralBroxtoweLabour 45.0%Hold
    7 MayChichester EastChichesterLiberal Democrats 50.2%Hold
    7 MayChichester SouthChichesterLiberal Democrats 56.3%Hold
    7 MayAbbey NorthDaventryLabour 67.2%Hold
    7 MayRavensthorpeDaventryConservative 62.8%Hold
    7 MayAnnfield PlainDerwentsideLabour 74.7%Hold
    7 MayExmouth Littleham RuralEast DevonLiberal Democrats 38.6%Not known
    7 MayBroomgrove & OreEast SussexLabour 59.5%Not known
    7 MayHough GreenHaltonLabour 75.2%Hold
    7 MayHillsideHertsmereLabour 58.0%Hold
    7 MayWest WinchKing's Lynn And West NorfolkConservative 40.1%Gain from Labour
    7 MayMowmacreLeicesterLiberal Democrats 50.7%Gain from Labour
    7 MayRushey MeadLeicesterLabour 56.0%Hold
    7 MayWestcotesLeicesterLabour 46.7%Hold
    7 MayBarlow & HolmesfieldNorth East DerbyshireConservative 52.9%Hold
    7 MayWolvercoteOxfordshireLiberal Democrats 47.4%Not known
    7 MayTrewernPowysConservativeNot known
    7 MayFarnboroughStratford-on-AvonConservative 61.0%Not known
    7 MayDorking RuralSurreyConservative 55.4%Not known
    7 MayNutfieldTandridgeConservative 46.5%Gain from Liberal Democrats
    7 MayTedworthTest ValleyLiberal Democrats 52.3%Gain from Conservative
    7 MayCage GreenTonbridge and MallingConservative 58.3%Not known
    7 MayStansted MountfitchetUttlesfordLiberal Democrats 49.7%Hold
    7 MayRugby HillmortonWarwickshireLabour 45.1%Not known
    7 MayRuffordWest LancashireConservative 66.8%Hold
    7 MayClanfield & ShiltonWest OxfordshireConservative 68.6%Hold
    7 MayFilkins & LangfordWest OxfordshireConservative 74.3%Hold
    7 MayChichester EastWest SussexLiberal Democrats 50.2%Not known
    7 MayOtterborne & HursleyWinchesterLiberal Democrats 65.4%Hold
    14 MayEmpinghamRutlandGreen 58.4%Not known
    14 MayStamford St John'sSouth KestevenConservative 56.0%Gain from Liberal Democrats
    21 MaySandiacre SouthErewashLiberal Democrats 60.6%Hold
    21 MayDawlish South WestTeignbridgeConservative 55.6%Not known
    21 MayLlantwit MajorVale of GlamorganConservative 48.3%Not known
    21 MayOldfieldWindsor and MaidenheadConservative 46.7%Not known
    28 MayAltonBaberghLiberal Democrats 63.4%Not known
    28 MaySwindonCheltenhamOther 39.6%Not known
    28 MayCatheringtonHampshireLiberal Democrats 48.7%Not known
    28 MayAshford WestSpelthorneConservative 54.1%Hold
    28 MayPolegate SouthWealdenLiberal Democrats 59.1%Not known
    28 MayBulmersheWokinghamLiberal Democrats 44.0%Hold
    2 JunParkWindsor & MaidenheadLiberal Democrats 52.2%Not known
    4 JunAmersham EastBuckinghamshireLiberal Democrats 53.6%Not known
    4 JunSpringfieldEalingLabour 54.6%Hold
    4 JunBasildon Westley HeightsEssexLabour 38.0%Not known
    4 JunBridgeNottinghamLabour 63.0%Hold
    4 JunRiversway [merged c156da13]PrestonLabour 51.1%Hold
    4 JunBishopstonSwanseaNot recordedNot known
    4 JunCockettSwanseaPlaid Cymru - The Party of Wales 50.4%Not known
    11 JunParc a'r MynyddIsle of AngleseyNot recordedNot known
    11 JunWinthorpeNewark And SherwoodConservative 72.6%Gain from Labour
    11 JunSt CrispinNorthamptonLabour 65.9%Hold
    18 JunAshleyBristol, City ofLiberal Democrats 38.6%Gain from Labour
    18 JunRiverDoverConservative 41.5%Not known
    18 JunSawleyErewashLiberal Democrats 48.4%Not known
    18 JunSt BlaiseRestormelLiberal Democrats 66.7%Not known
    18 JunWakefield CentralWakefieldLabour 49.3%Hold
    25 JunGatehouseAylesbury ValeLiberal Democrats 48.0%Hold
    25 JunBlendon & PenhillBexleyConservative 54.0%Not known
    25 JunLlanfihangel YstradCeredigionPlaid Cymru - The Party of Wales 57.6%Gain from Liberal Democrats
    25 JunTiptree [merged ec97c555]ColchesterLabour 46.0%Hold
    25 JunYiewsleyHillingdonLabour 44.3%Gain from Conservative
    25 JunDenham NorthSouth BucksNot recordedNot known
    25 JunDunblane West [merged fe77fe03]StirlingConservative 38.0%Not known
    25 JunChilworth & NurslingTest ValleyConservative 50.9%Gain from Liberal Democrats
    25 JunHollybush [merged c8172430]Welwyn HatfieldLabour 75.1%Not known
    25 JunPeartree [merged a4558923]Welwyn HatfieldLabour 83.7%Not known
    2 JulPeverelAdurConservative 35.6%Not known
    2 JulWest [merged bd62563d]BostonConservative 66.8%Not known
    2 JulCliviger With WorsthorneBurnleyConservative 59.4%Gain from Labour
    2 JulSt. JohnsHigh PeakConservative 48.7%Hold
    2 JulParkLincolnLabour 52.1%Hold
    2 JulTemesideMalvern HillsNot recordedNot known
    2 JulDewstowMonmouthshireLabour 65.3%Hold
    2 JulDeanshangerSouth NorthamptonshireLabour 52.5%Gain from Conservative
    2 JulStanwell NorthSpelthorneLabour 46.0%Not known
    2 JulWest PutneyWandsworthConservative 61.1%Hold
    9 JulThetford-GuildhallBrecklandConservative 58.0%Not known
    9 JulHutton SouthBrentwoodConservative 36.0%Hold
    9 JulGoffs Oak [merged 780a4f23]BroxbourneConservative 75.0%Hold
    9 JulRylandsCroydonLabour 58.1%Hold
    9 JulHalesowen SouthDudleyConservative 56.5%Hold
    9 JulCentralGraveshamLabour 54.0%Hold
    9 JulAshford SouthKentLabour 54.5%Not known
    9 JulDenverKing's Lynn And West NorfolkConservative 55.6%Gain from Labour
    16 JulWingfield [merged 74ec6e4d]Amber ValleyConservative 44.7%Gain from Labour
    16 JulMandevilleAylesbury ValeLiberal Democrats 47.9%Hold
    16 JulParksideBlyth ValleyLiberal Democrats 35.3%Not known
    16 JulPetersfield St MarysEast HampshireLiberal Democrats 51.2%Hold
    16 JulDaleEast Riding Of YorkshireConservative 47.5%Not known
    16 JulFalklandNewburyLiberal Democrats 48.8%Hold
    16 JulDeneNewcastle Upon TyneLiberal Democrats 58.1%Hold
    16 JulShirley South [merged e912f2d5]SolihullConservative 44.8%Not known
    16 JulGreyfriarsSouth KestevenConservative 64.0%Hold
    16 JulRoebuck [merged f00f94a2]StevenageLabour 49.6%Hold
    16 JulMytchettSurrey HeathLiberal Democrats 64.5%Hold
    23 JulVangeBasildonLabour 57.3%Hold
    23 JulWaterlooBlackpoolConservative 36.0%Not known
    23 JulHardwickCherwellConservative 51.9%Gain from Labour
    23 JulCustom House & SilvertownNewhamLabour 55.2%Hold
    23 JulNewtown Llanllwchaiarn NorthPowysLiberal Democrats 63.7%Not known
    23 JulSopwellSt AlbansLabour 68.3%Hold
    23 JulCollierySunderlandLabour 46.7%Hold
    23 JulStiffordThurrockLabour 57.0%Hold
    23 JulFairfied & HowleyWarringtonLabour 49.5%Not known
    30 JulEast Retford East [merged f3e0b9cd]BassetlawConservative 54.6%Hold
    30 JulBurry PortCarmarthenshireLabour 54.5%Gain from Liberal Democrats
    30 JulLower NidderdaleHarrogateLiberal Democrats 50.3%Gain from Conservative
    30 JulMineheadSomersetConservative 42.6%Not known
    30 JulDissSouth NorfolkLiberal Democrats 48.5%Hold
    30 JulBurscoughWest LancashireLabour 50.0%Hold
    6 AugBramley [merged 9e86b053]LeedsLiberal Democrats 63.9%Gain from Labour
    13 AugDumbarton WestWest DunbartonshireSNP 44.7%Gain from Labour
    27 AugBlackwoodCaerphillyPlaid Cymru - The Party of Wales 47.5%Not known
    27 AugRossingtonDoncasterNot recordedNot known
    27 AugPossilGlasgowLabour 44.3%Hold
    27 AugStathernMeltonLabour 52.9%Not known
    3 SeptRhiwbinaCardiffConservative 45.5%Gain from Labour
    3 SeptAdwickDoncasterLabour 51.6%Hold
    3 SeptWheatleyDoncaster Metropolitan Borough CouncilLabour 45.0%Not known
    3 SeptRatton [merged 0c670c4c]EastbourneConservative 57.5%Hold
    3 SeptCarmichaelSouth LanarkshireSNP 35.8%Gain from Labour
    3 SeptSilvertonhillSouth LanarkshireSNP 38.2%Hold
    3 SeptBedeSouth TynesideLabour 80.5%Hold
    10 SeptLowndesChilternLiberal Democrats 91.9%Hold
    10 SeptRiversideHorshamLiberal Democrats 55.3%Not known
    10 SeptTrebanosNeath Port TalbotLabour 61.2%Not known
    10 SeptBrampton Melton & WentworthRotherhamLabour 77.8%Hold
    10 SeptStantonSt EdmundsburyConservative 55.3%Gain from Labour
    10 SeptCheadle Hulme South [merged 8432283b]StockportLiberal Democrats 65.2%Hold
    17 SeptHeyfordCherwellLiberal Democrats 36.3%Hold
    17 SeptFar CrossCumbriaLiberal Democrats 62.6%Not known
    17 SeptWhickham SouthGatesheadLiberal Democrats 83.6%Hold
    17 SeptMorawelonIsle of AngleseyLabour 67.7%Not known
    17 SeptRingwood NorthNew ForestConservative 61.6%Not known
    17 SeptCorbridgeNorthumberlandConservative 35.8%Not known
    17 SeptHardwickSouth CambridgeshireLiberal Democrats 82.5%Not known
    17 SeptTormohunTorbayConservative 38.2%Gain from Liberal Democrats
    17 SeptShedfield [merged 782834f6]WinchesterNot recordedHold
    18 SeptPlasnewyddCardiffLabour 46.3%Hold
    24 SeptSt. MarysForest HeathConservative 58.6%Gain from Labour
    24 SeptGrobyHinckley And BosworthConservative 42.7%Not known
    24 SeptSouthLutonLabour 47.8%Not known
    24 SeptCheethamManchesterLiberal Democrats 48.5%Gain from Labour
    24 SeptParkfieldStockton-on-TeesLabour 58.0%Not known
    1 OctOakleyAylesbury ValeConservative 52.9%Hold
    1 OctLong Crendon & BrillBuckinghamshireConservative 57.4%Not known
    1 OctSaltash EssaCaradonLiberal Democrats 54.8%Not known
    1 OctSt. MatthewsPrestonLabour 41.5%Hold
    1 OctAldboroughRedbridgeConservative 48.7%Not known
    1 OctPierThanetLabour 51.3%Not known
    1 OctLeytonstoneWaltham ForestLabour 47.3%Hold
    8 OctWhinhallNorth LanarkshireLabour 55.9%Not known
    8 OctBassettSouthamptonConservative 58.9%Hold
    8 OctHarefieldSouthamptonLabour 44.1%Hold
    15 OctConsortSouthwarkLabour 59.3%Hold
    22 OctSwanwickAmber ValleyConservative 68.8%Gain from Labour
    22 OctCatshillBromsgroveConservative 64.4%Gain from Labour
    22 OctCanvey Island East [merged f14178b8]Castle PointLabour 53.1%Hold
    22 OctWaltham Abbey EastEpping ForestConservative 60.2%Not known
    22 OctClissoldHackneyLabour 39.0%Hold
    22 OctChipping [merged 391c0fc2]Ribble ValleyNot recordedHold
    22 OctRowleySandwellLabour 57.4%Hold
    22 OctCadzowSouth LanarkshireLabour 51.0%Hold
    22 OctTredington [merged f0f38b50]Stratford-on-AvonConservative 58.9%Not known
    22 OctPorlock & OareWest SomersetNot recordedNot known
    29 OctAngmeringArunConservative 64.5%Not known
    29 OctBickleyBromleyConservative 57.4%Not known
    29 OctSt. Martins [merged c8d48339]CaerphillyLiberal Democrats 36.0%Not known
    29 OctLeeslandGosportLiberal Democrats 57.2%Gain from Conservative
    29 OctAmoundernessLancashireConservative 67.8%Not known
    29 OctAllingtonMaidstoneLiberal Democrats 72.2%Hold
    29 OctBoxleyMaidstoneConservative 63.3%Not known
    29 OctHollingbourneMaidstoneConservative 48.3%Hold
    29 OctDyffrynNeath Port TalbotLabour 70.9%Not known
    29 OctTriggNorth CornwallLiberal Democrats 63.2%Not known
    29 OctRudbaxtonPembrokeshireNot recordedNot known
    29 OctArringtonSouth CambridgeshireLiberal Democrats 55.6%Gain from Conservative
    29 OctGrappenhall and ThelwallWarringtonLiberal Democrats 65.3%Hold
    29 OctGreat Sankey NorthWarringtonLabour 34.5%Hold
    5 NovMedsteadEast HampshireLiberal Democrats 56.5%Hold
    5 NovBeech HillWiganLiberal Democrats 49.4%Gain from Labour
    12 NovGreat Hollands SouthBracknell ForestLabour 62.2%Not known
    12 NovTintagelCornwallLiberal Democrats 71.3%Not known
    12 NovGunnersburyHounslowLabour 46.0%Hold
    12 NovGisburn & RimingtonRibble ValleyConservative 76.7%Hold
    12 NovTrowbridge DrynhamWest WiltshireLiberal Democrats 44.1%Gain from Labour
    19 NovLlanberisGwyneddNot recordedNot known
    19 NovPreesNorth ShropshireConservative 54.3%Not known
    19 NovBasfordNottinghamLabour 48.4%Hold
    19 NovSouth Bredon HillWychavonLiberal Democrats 50.3%Not known
    26 NovQueens CrossAberdeenConservative 46.8%Hold
    26 NovLuffield AbbeyAylesbury ValeConservative 44.3%Gain from Liberal Democrats
    26 NovNewquay NorthCornwallConservative 40.1%Not known
    26 NovGrinling GibbonsLewishamLabour 49.6%Hold
    26 NovRiversdaleNorth DorsetLiberal Democrats 62.4%Not known
    26 NovValley [merged 8a40a099]North TynesideLabour 64.7%Hold
    26 NovErichtPerth and KinrossSNP 57.5%Not known
    26 NovRialtonRestormelNot recordedNot known
    26 NovEton WestWindsor & MaidenheadLabour 51.5%Not known
    3 DecFelpham WestArunConservative 44.8%Hold
    3 DecArnosEnfieldLabour 44.0%Hold
    3 DecKildrum and ParkNorth LanarkshireSNP 57.6%Not known
    3 DecAysgarthRichmondshireNot recordedHold
    3 DecRotherhitheSouthwarkLiberal Democrats 55.7%Hold
    3 DecWarden and NewbroughTynedaleConservativeNot known
    3 DecStockton HeathWarringtonLiberal Democrats 63.9%Hold
    3 DecOldington & Foley ParkWyre ForestLabour 35.8%Not known
    9 DecHorspathSouth OxfordshireLiberal Democrats 80.0%Not known
    10 DecWoodhouseBarnetLabour 49.4%Hold
    10 DecEllingtonCastle MorpethLiberal Democrats 51.2%Gain from Labour
    10 DecGransdenHuntingdonshireConservative 81.3%Hold
    10 DecHorsfieldPendleLiberal Democrats 45.3%Hold
    10 DecSpital [merged 2bb10ca6]TamworthConservative 55.6%Gain from Labour
    10 DecStonydelph [merged 9492a0f6]TamworthLabour 73.8%Hold
    10 DecYarboroughWest LindseyLabour 48.1%Not known
    17 DecRomanbyHambletonConservative 57.4%Not known
    17 DecHebburn QuaySouth TynesideLiberal Democrats 55.7%Hold