Psephology.AI
    All years

    2023 council by-elections

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

    Gains and losses by party

    PartyGainedLostNet
    Liberal Democrats183▲ +15
    Green91▲ +8
    Independent53▲ +2
    Labour1111– 0
    Residents for Uttlesford01▼ -1
    SNP09▼ -9
    Conservative924▼ -15

    Every by-election

    DateWardWinnerPreviously
    5 JanEtching Hill and the HeathCannock ChaseLabour 52.3%Gain from Conservative
    5 JanGreat Dunmow South & BarnstonUttlesfordConservative 52.0%Gain from Residents for Uttlesford
    12 JanMoor ViewPlymouthLabour 51.8%Gain from Conservative
    12 JanPlympton ChaddlewoodPlymouthGreen 44.9%Hold
    19 JanBiddulph NorthStaffordshireLabour 49.5%Gain from Conservative
    19 JanBiddulph WestStaffordshire MoorlandsLabour 43.5%Hold
    19 JanBedwellStevenageLabour 69.8%Hold
    26 JanKeppelRotherhamLabour 36.1%Hold
    2 FebHotwells and HarboursideBristol, City ofGreen 43.0%Gain from Liberal Democrats
    2 FebNorthallNorth NorthamptonshireLabour 38.0%Gain from Conservative
    2 FebLlantarnamTorfaenIndependent 41.7%Hold
    9 FebBattledownCheltenhamLiberal Democrats 52.0%Gain from Conservative
    9 FebWilmington, Sutton-at-Hone & HawleyDartfordConservative 69.0%Hold
    9 FebRhyl Tŷ NewyddDenbighshireConservative 40.1%Gain from Labour
    9 FebHitchin NorthHertfordshireLabour 65.8%Hold
    9 FebMasham and FountainsNorth YorkshireLiberal Democrats 62.7%Gain from Conservative
    16 FebGolders GreenBarnetConservative 66.8%Hold
    16 FebSt Neots The EatonsCambridgeshireLiberal Democrats 43.5%Not known
    16 FebLong Rock, Marazion And St ErthCornwallLiberal Democrats 45.4%Gain from Conservative
    16 FebNetherton & OrrellSeftonLabour 82.5%Hold
    23 FebDyce/Bucksburn/DanestoneAberdeenLabour 26.0%Gain from SNP
    23 FebSmithfieldWrexhamPlaid Cymru - The Party of Wales 41.3%Not known
    2 MarHythe WestKentGreen 47.0%Gain from Conservative
    2 MarBykerNewcastle Upon TyneLabour 46.9%Hold
    2 MarLittlemoreOxfordLabour 44.9%Hold
    2 MarRose Hill and LittlemoreOxfordshireLabour 44.0%Hold
    2 MarWatling SouthStaffordshireConservative 46.6%Hold
    2 MarBelgraveTamworthConservative 34.3%Hold
    9 MarCorstorphine/MurrayfieldEdinburghLiberal Democrats 58.1%Gain from SNP
    9 MarTottenham HaleHaringeyLabour 58.7%Hold
    9 MarHeston WestHounslowLabour 52.4%Hold
    16 MarCottenhamSouth CambridgeshireLiberal Democrats 41.7%Hold
    16 MarDunblane and Bridge of AllanStirlingConservative 41.0%Gain from SNP
    23 MarCripplegateCity Of LondonIndependent 100.0%Not known
    23 MarCastle BaynardCity of London CorporationIndependent 100.0%Not known
    23 MarRushden SouthNorth NorthamptonshireConservative 54.5%Hold
    30 MarHeathBarking and DagenhamLabour 62.1%Hold
    30 MarWestgateGloucesterLiberal Democrats 43.2%Gain from Labour
    30 MarAethwyIsle of AngleseyPlaid Cymru - The Party of Wales 54.0%Not known
    20 AprBullsmoorEnfieldLabour 55.8%Hold
    20 AprLatchford WestWarringtonLabour 40.8%Hold
    27 AprPenderrySwanseaLabour 55.9%Hold
    4 MaySouth WealdBrentwoodLiberal Democrats 64.0%Gain from Conservative
    4 MayArburyCambridgeshireLabour 43.0%Hold
    4 MaySoham South and HaddenhamCambridgeshireConservative 44.6%Hold
    4 MayChester-Le-Street EastCounty DurhamLabour 59.8%Hold
    4 MayBasildon Laindon Park and FryernsEssexLabour 49.7%Hold
    4 MayHighnamGloucestershireConservative 50.7%Hold
    4 MayPurbrook And Stakes SouthHavantConservative 47.1%Hold
    4 MaySheppeyKentConservative 33.3%Hold
    4 MayEagle and Hykeham WestLincolnshireConservative 32.5%Hold
    4 MaySwaffhamNorfolkConservative 50.9%Hold
    4 MayKirkby SouthNottinghamshireAshfield Independents 51.2%Hold
    4 MayFelixstowe CoastalSuffolkLiberal Democrats 44.4%Gain from Conservative
    4 MayPriory HeathSuffolkLabour 50.8%Hold
    4 MayWalton South and OatlandsSurreyLiberal Democrats 44.1%Gain from Conservative
    4 MayDucklingtonWest OxfordshireConservative 41.8%Hold
    4 MayEast Grinstead MeridianWest SussexConservative 43.5%Hold
    4 MayOld Barrow and HindpoolWestmorland and FurnessLabour 69.4%Hold
    4 MayMalvern ChaseWorcestershireGreen 25.4%Gain from Liberal Democrats
    17 MayPainswick and UptonStroudGreen 45.9%Gain from Conservative
    22 MaySt Mary'sIsles of ScillyIndependent 100.0%Hold
    25 MayEastfieldNorth YorkshireIndependent 48.1%Gain from Labour
    1 JunSouth HampsteadCamdenLabour 35.6%Hold
    8 JunTisburyWiltshireLiberal Democrats 67.0%Hold
    13 JunSt PetersSt AlbansGreen 44.7%Hold
    15 JunBellshillNorth LanarkshireLabour 51.8%Gain from SNP
    15 JunEfford and LipsonPlymouthLabour 58.7%Hold
    15 JunHiltonSouth DerbyshireLiberal Democrats 38.9%Hold
    15 JunHendonSunderlandLabour 43.6%Hold
    15 JunFrimley GreenSurrey HeathLiberal Democrats 60.5%Hold
    15 JunBurratorWest DevonLiberal Democrats 48.5%Hold
    22 JunPAULTONBath & North East SomersetLabour 70.1%Hold
    22 JunCoxfordSouthamptonLabour 42.5%Hold
    22 JunHartburnStockton-on-TeesConservative 56.5%Hold
    22 JunTavistock NorthWest DevonIndependent 25.5%Gain from Liberal Democrats
    22 JunRural SouthWest LancashireOur West Lancashire 49.2%Not known
    22 JunWarrenWyreLabour 64.0%Not known
    29 JunWybostonBedfordConservative 63.1%Hold
    29 JunEast Cliff & SpringbourneBournemouth, Christchurch & PooleGreen 38.4%Gain from Labour
    29 JunSherborne WestDorsetLiberal Democrats 49.5%Hold
    29 JunHermitage & GardensHaringeyLabour 59.6%Hold
    29 JunNewingtonSouthwarkLabour 57.5%Hold
    4 JulKing's HedgesCambridgeConservative 34.9%Gain from Labour
    6 JulMaidstone CentralKentLiberal Democrats 28.5%Hold
    6 JulEast Kilbride WestSouth LanarkshireLabour 40.5%Gain from SNP
    13 JulCastle BaynardCity of London CorporationIndependent 100.0%Not known
    13 JulBoleyn [merged 09ee191d]NewhamIndependent 42.5%Not known
    13 JulWall End [merged fa3819d9]NewhamLabour 61.1%Not known
    13 JulWest DepwadeNorfolkGreen 29.0%Gain from Conservative
    13 JulDinningtonRotherhamConservative 42.7%Hold
    20 JulLlanfarianCeredigionLiberal Democrats 48.2%Hold
    20 JulSt. Margaret & South MarstonSwindonConservative 50.5%Gain from Labour
    20 JulNunneryWorcesterLabour 59.7%Hold
    27 JulDenhamBuckinghamshireConservative 42.2%Hold
    27 JulHeathfield and MayfieldEast SussexGreen 61.5%Gain from Conservative
    27 JulPlymstock DunstonePlymouthLabour 33.2%Hold
    27 JulSt. Peter & the WaterfrontPlymouthLabour 48.0%Hold
    27 JulPoulton NorthWarringtonLabour 56.4%Hold
    3 AugCradley & WollescoteDudleyLiberal Democrats 52.4%Gain from Labour
    3 AugMeadsEast SussexLiberal Democrats 50.1%Gain from Conservative
    3 AugFreebridge LynnNorfolkLiberal Democrats 38.4%Gain from Conservative
    3 AugNorcotReadingLabour 58.2%Hold
    10 AugUpminsterHaveringUpminster and Cranham Residents Association 63.2%Not known
    10 AugCastle CarySomersetLiberal Democrats 54.8%Hold
    10 AugEvesham SouthWychavonGreen 47.7%Hold
    17 AugAyresomeMiddlesbroughIndependent 35.9%Gain from Labour
    17 AugMarshalswick East and Jersey FarmSt AlbansLiberal Democrats 46.0%Hold
    24 AugBishopston and Ashley DownBristol, City ofGreen 50.2%Hold
    24 AugSt. James'sDudleyLabour 48.0%Hold
    24 AugWootton BridgeIsle Of WightLiberal Democrats 47.9%Not known
    31 AugPenmaenCaerphillyLabour 35.1%Hold
    31 AugSwadlincote SouthDerbyshireLabour 62.2%Gain from Conservative
    31 AugBatley EastKirkleesLabour 73.7%Hold
    6 SeptAshford TownSpelthorneConservative 37.5%Gain from Independent
    7 SeptThorpe St. Andrew North WestBroadlandConservative 52.2%Gain from Labour
    7 SeptBread StreetCity Of LondonIndependent 100.0%Not known
    7 SeptGolden Valley SouthHerefordshireNot recordedHold
    7 SeptBrooklandsManchesterLabour 61.5%Hold
    7 SeptAudleyNewcastle-under-LymeLabour 46.1%Hold
    7 SeptKnuttonNewcastle-under-LymeLabour 49.0%Hold
    7 SeptWorfieldShropshireLiberal Democrats 48.1%Gain from Conservative
    14 SeptMayesbrookBarking and DagenhamLabour 46.9%Hold
    14 SeptCroston, Mawdesley & Euxton SouthChorleyConservative 47.9%Hold
    14 SeptChorley Rural WestLancashireLabour 52.1%Gain from Conservative
    14 SeptCarholmeLincolnshireLabour 48.0%Hold
    14 SeptFazakerley EastLiverpoolLabour 37.5%Hold
    14 SeptMinster CliffsSwaleSwale Independents 35.8%Hold
    21 SeptHighwoodsColchesterLiberal Democrats 39.4%Hold
    21 SeptBricknellKingston Upon HullLabour 43.7%Hold
    21 SeptNewport Pagnell SouthMilton KeynesLiberal Democrats 43.5%Hold
    21 SeptGirvan and South CarrickSouth AyrshireConservative 47.5%Gain from SNP
    28 SeptTain and Easter RossHighlandIndependent 41.5%Gain from SNP
    28 SeptHutton Rudby and OsmotherleyNorth YorkshireConservative 48.4%Hold
    28 SeptMulbarton & Stoke Holy CrossSouth NorfolkLiberal Democrats 37.1%Hold
    28 SeptSouth WymondhamSouth NorfolkLiberal Democrats 35.0%Hold
    28 SeptBushbury South & Low HillWolverhamptonLabour 59.2%Hold
    4 OctSouth TottenhamHaringeyLabour 68.2%Hold
    4 OctWhite Hart LaneHaringeyLabour 59.0%Hold
    5 OctVauxhallLambethLabour 42.0%Hold
    5 OctAmingtonTamworthLabour 42.9%Hold
    12 OctPrestburyCheltenhamPeople Against Bureaucracy Group 37.2%Not known
    12 OctWoodbridgeSuffolkLiberal Democrats 51.2%Hold
    19 OctAlveley And ClaverleyShropshireLiberal Democrats 58.8%Gain from Conservative
    19 OctHorsleysSurreyResidents for Guildford and Villages 39.3%Hold
    19 OctWarndon Parish SouthWorcesterGreen 53.7%Hold
    19 OctWarndon ParishWorcestershireGreen 44.1%Gain from Conservative
    26 OctTrinityBurnleyGreen 59.5%Hold
    26 OctEarlsdonCoventryLabour 44.3%Hold
    26 OctGolden Valley SouthHerefordshireIndependent 63.6%Hold
    26 OctBurnley Central WestLancashireGreen 32.4%Hold
    26 OctHigham HillWaltham ForestLabour 57.3%Hold
    2 NovSouth KintyreArgyll and ButeIndependent 57.7%Gain from SNP
    2 NovBuckingham EastBuckinghamshireLiberal Democrats 39.8%Gain from Labour
    2 NovCripplegateCity Of LondonLabour 60.5%Not known
    2 NovLangbournCity of London CorporationIndependent 100.0%Not known
    2 NovMolesey EastElmbridgeLiberal Democrats 36.1%Hold
    2 NovASFORDBYMeltonLabour 34.1%Gain from Independent
    2 NovKilnhurst and Swinton EastRotherhamLabour 64.6%Hold
    2 NovBucklow-St MartinsTraffordLabour 62.2%Hold
    9 NovMayor of HackneyEnglandLabour 49.8%Hold
    9 NovDeptfordLewishamLabour 71.2%Hold
    9 NovGrantham NorthLincolnshireConservative 40.8%Hold
    9 NovCrickhowell with Cwmdu & TretowerPowysLiberal Democrats 58.3%Hold
    9 NovSpalding St Paul'sSouth HollandNot recordedHold
    9 NovGrantham St Wulfram'sSouth KestevenConservative 34.5%Gain from Independent
    16 NovKearsleyBoltonFarnworth and Kearsley First Party 66.0%Not known
    16 NovWesthoughton North and Hunger HillBoltonLiberal Democrats 41.5%Hold
    16 NovAberystwyth PenparcauCeredigionPlaid Cymru - The Party of Wales 36.7%Not known
    16 NovRossington And BawtryDoncasterLabour 56.7%Hold
    16 NovMotherwell South East and RavenscraigNorth LanarkshireLabour 44.0%Gain from SNP
    16 NovWringtonNorth SomersetGreen 32.7%Not known
    22 NovTALYBONT-ON-USKPowysLiberal Democrats 52.1%Hold
    23 NovQueen Edith'sCambridgeLiberal Democrats 35.0%Hold
    23 NovPlaistow North [merged f71cc3c4]NewhamIndependent 51.5%Not known
    30 NovHighgateCamdenGreen 58.7%Gain from Labour
    30 NovFarringdon WithoutCity of London CorporationTemple and Farringdon TogetherNot known
    30 NovPortsokenCity of London CorporationIndependent 100.0%Not known
    30 NovDawdonCounty DurhamLabour 55.9%Hold
    30 NovSowerby and TopcliffeNorth YorkshireLiberal Democrats 41.6%Gain from Green
    7 DecHayes and Coney HallBromleyConservative 48.0%Hold
    7 DecRhyl South WestDenbighshireLabour 51.3%Hold
    7 DecHarpenden RuralHertfordshireLiberal Democrats 58.3%Gain from Conservative
    7 DecBristonNorth NorfolkLiberal Democrats 49.2%Hold
    7 DecSandridge and WheathampsteadSt AlbansLiberal Democrats 55.9%Hold
    14 DecLechlade, Kempsford & Fairford SouthCotswoldLiberal Democrats 48.5%Hold
    14 DecBillinghay RuralNorth KestevenLiberal Democrats 41.1%Gain from Conservative
    14 DecDunsmoreRugbyLiberal Democrats 37.3%Gain from Conservative
    14 DecAbbeySwaleLiberal Democrats 44.9%Hold
    14 DecChorleywood South and Maple CrossThree RiversLiberal Democrats 57.5%Hold
    14 DecDunsmore and Leam ValleyWarwickshireConservative 42.8%Hold
    21 DecGlen ParvaBlabyLiberal Democrats 60.5%Hold
    21 DecVentnor And St LawrenceIsle Of WightConservative 41.1%Hold
    21 DecBlaby and Glen ParvaLeicestershireLiberal Democrats 61.2%Hold