Psephology.AI
    All years

    2026 council by-elections

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

    Gains and losses by party

    PartyGainedLostNet
    Reform UK196▲ +13
    Green83▲ +5
    Conservative117▲ +4
    Plaid Cymru - The Party of Wales20▲ +2
    Scottish Green Party10▲ +1
    Lincolnshire Independents Lincolnshire First01▼ -1
    Liberal Democrats68▼ -2
    SNP03▼ -3
    Independent07▼ -7
    Labour416▼ -12

    Every by-election

    DateWardWinnerPreviously
    15 JanBridgemaryGosportReform UK 42.5%Gain from Liberal Democrats
    15 JanHeworthYorkLabour 36.7%Hold
    20 JanCodnor, Langley Mill & AldercarAmber ValleyReform UK 45.6%Not known
    20 JanHorsleyDerbyshireGreen 43.6%Gain from Reform UK
    22 JanWillaston & ThorntonCheshire West & ChesterConservative 53.8%Hold
    22 JanThe RissingtonsCotswoldLiberal Democrats 37.5%Gain from Green
    22 JanGlenrothes West and KinglassieFifeSNP 44.3%Not known
    22 JanLeeswoodFlintshireReform UK 28.3%Gain from Labour
    22 JanCentral WymondhamSouth NorfolkConservative 31.1%Not known
    29 JanBearsden SouthEast DunbartonshireLiberal Democrats 38.1%Not known
    5 FebColeman StreetCity Of LondonIndependent 100.0%Not known
    5 FebYnys GybiIsle of AngleseyReform UK 43.9%Not known
    5 FebClevedon SouthNorth SomersetLabour 29.1%Hold
    10 FebFISHGUARD NORTH EASTPembrokeshirePlaid Cymru - The Party of Wales 35.4%Not known
    12 FebWorth ValleyBradfordConservative 51.6%Hold
    12 FebFletton and WoodstonPeterboroughReform UK 29.4%Gain from Labour
    19 FebVanCaerphillyPlaid Cymru - The Party of Wales 43.3%Gain from Labour
    19 FebStoneygateLeicesterGreen 30.9%Gain from Labour
    19 FebZetlandRedcar & ClevelandLiberal Democrats 50.5%Gain from Labour
    26 FebShirleySouthamptonLiberal Democrats 27.3%Gain from Labour
    5 MarCoggeshallBraintreeReform UK 30.8%Gain from Independent
    5 MarMurtonCounty DurhamLabour 50.6%Gain from Reform UK
    5 MarHextableSevenoaksConservative 38.9%Gain from Independent
    5 MarThruppStroudGreen 67.5%Hold
    5 MarSpitalTamworthReform UK 43.6%Not known
    12 MarThe BeechesCotswoldLiberal Democrats 52.7%Hold
    12 MarAigburthLiverpoolGreen 45.0%Gain from Liberal Democrats
    12 MarSleaford WestholmeNorth KestevenReform UK 46.1%Gain from Lincolnshire Independents Lincolnshire First
    12 MarAbingdon Abbey NorthcourtVale Of White HorseLiberal Democrats 43.8%Not known
    12 MarPenrith SouthWestmorland and FurnessLiberal Democrats 43.2%Hold
    17 MarMilford: HakinPembrokeshireReform UK 29.9%Gain from Independent
    26 MarAxholme CentralNorth LincolnshireConservative 48.7%Hold
    26 MarBrumbyNorth LincolnshireReform UK 52.4%Gain from Labour
    26 MarHalstead Knockholt & Badgers MountSevenoaksConservative 44.2%Hold
    26 MarStanfordVale Of White HorseConservative 45.9%Gain from Liberal Democrats
    2 AprTottingtonBuryReform UK 39.5%Not known
    2 AprWigmoreLutonReform UK 32.9%Gain from Liberal Democrats
    2 AprFremingtonNorth DevonLiberal Democrats 49.9%Not known
    2 AprHareholme and WaterfootRossendaleGreen 37.7%Gain from Labour
    9 AprCliftonvilleKentGreen 38.8%Gain from Reform UK
    16 AprNarborough and WhetstoneLeicestershireReform UK 33.0%Hold
    16 AprCramlington South WestNorthumberlandConservative 34.2%Gain from Reform UK
    22 AprBarton and WintonSalfordReform UK 34.9%Gain from Labour
    23 AprNewquay Porth And TretherrasCornwallReform UK 30.2%Hold
    30 AprTenburyMalvern HillsReform UK 45.1%Not known
    7 MayStaveley NorthChesterfieldReform UK 100.0%Not known
    7 MayBridgemaryGosportReform UK 45.6%Gain from Liberal Democrats
    21 MayBridportDorsetLiberal Democrats 43.6%Hold
    21 MayKirkhamFyldeConservative 60.6%Not known
    21 MayCastleLancasterGreen 70.0%Hold
    21 MayAlfrick, Leigh & RushwickMalvern HillsLiberal Democrats 27.1%Not known
    28 MayFairwoodSwanseaLiberal Democrats 32.4%Gain from Conservative
    4 JunColeman StreetCity Of LondonIndependent 100.0%Not known
    4 JunHawcoat and NewbarnsWestmorland and FurnessReform UK 48.4%Gain from Conservative
    11 JunChristleton & HuntingtonCheshire West & ChesterConservative 32.9%Hold
    11 JunApsley & Corner HallDacorumLiberal Democrats 32.9%Hold
    11 JunCippenham GreenSloughGreen 24.5%Not known
    18 JunIdle and ThackleyBradfordLiberal Democrats 56.0%Not known
    18 JunMoorsideBuryLabour 39.5%Not known
    18 JunGogarth MostynConwyReform UK 34.3%Not known
    18 JunTudnoConwyReform UK 43.3%Not known
    18 JunChelmsford SpringfieldEssexLiberal Democrats 54.6%Not known
    18 JunRayleigh WestEssexConservative 31.9%Gain from Reform UK
    18 JunHillingdon WestHillingdonNot recordedNot known
    18 JunCrofton ParkLewishamGreen 42.2%Not known
    18 JunBransgore, Burley, Sopley & Ringwood EastNew ForestConservative 39.3%Not known
    18 JunSweyne Park and GrangeRochfordConservative 51.1%Not known
    18 JunMorristonSwanseaLabour 35.1%Hold
    18 JunMumblesSwanseaConservative 37.3%Hold
    18 JunActon & MaesydreWrexhamPlaid Cymru - The Party of Wales 38.8%Not known
    18 JunGrosvenorWrexhamPlaid Cymru - The Party of Wales 43.4%Not known
    18 JunQUEENSWAYWrexhamPlaid Cymru - The Party of Wales 40.9%Not known
    25 JunGeorge St/HarbourAberdeenSNP 33.1%Not known
    25 JunGoldsmidBrighton & HoveGreen 49.0%Gain from Labour
    25 JunRoman Bank and PeckoverCambridgeshireReform UK 39.0%Hold
    25 JunLlangennechCarmarthenshirePlaid Cymru - The Party of Wales 41.4%Gain from Labour
    25 JunLLANRHAEADR-YNG-NGHINMEIRCHDenbighshireIndependent 48.0%Not known
    25 JunRhyl SouthDenbighshireReform UK 38.6%Gain from Labour
    25 JunNorth ActonEalingGreen 27.2%Not known
    25 JunDalstonHackneyGreen 35.0%Not known
    25 JunHackney CentralHackneyGreen 29.7%Not known
    25 JunFarnworthHaltonLabour 45.9%Hold
    25 JunNorthumberland ParkHaringeyNot recordedNot known
    25 JunWoodsideHaringeyGreen 36.8%Not known
    25 JunBushey ParkHertsmereConservative 42.9%Gain from Liberal Democrats
    25 JunEast Sutherland and EddertonHighlandIndependent 40.2%Not known
    25 JunDowlais & PantMerthyr TydfilLabour 40.1%Gain from Independent
    25 JunCamp HillNuneaton and BedworthReform UK 50.4%Not known
    25 JunTreorchyRhondda Cynon TafPlaid Cymru - The Party of Wales 70.8%Not known
    25 JunHaydockSt. HelensReform UK 31.9%Not known
    25 JunSt Helens Town CentreSt. HelensReform UK 39.9%Not known
    25 JunStrettonStaffordshireReform UK 37.1%Hold
    25 JunWilnecoteTamworthReform UK 46.4%Not known
    25 JunDawlish South WestTeignbridgeLiberal Democrats 45.3%Hold
    25 JunStort ValleyUttlesfordConservative 46.5%Gain from Liberal Democrats
    2 JulPeterhead South and CrudenAberdeenshireSNP 39.0%Not known
    2 JulHorwich NorthBoltonHorwich & Blackrod First Independents 45.4%Not known
    2 JulWeaver & CuddingtonCheshire West & ChesterIndependent 35.7%Not known
    2 JulSt Michael'sCotswoldLiberal Democrats 58.4%Hold
    2 JulSt Leonards and St IvesDorsetConservative 37.9%Hold
    2 JulCirencester ParkGloucestershireLiberal Democrats 58.6%Hold
    2 JulLutterworth EastHarboroughReform UK 28.2%Not known
    2 JulGlantwymynPowysPlaid Cymru - The Party of Wales 81.8%Not known
    2 JulLlanyre with NantmelPowysReform UK 41.5%Gain from Independent
    2 JulYscir with Honddu Isaf & LlanddewPowysLiberal Democrats 39.6%Gain from Conservative
    2 JulMalinslee & Dawley BankTelford & WrekinLabour 42.9%Hold
    2 JulLlantarnamTorfaenReform UK 42.7%Not known
    7 JulHaslemereSurreyLiberal Democrats 47.8%Hold
    7 JulHaslemere WestWaverleyLiberal Democrats 58.6%Hold
    9 JulRegents ParkCamdenLabour 27.4%Not known
    9 JulSplottCardiffLabour 40.3%Hold
    9 JulArgoed & New BrightonFlintshireLiberal Democrats 39.8%Hold
    9 JulConnah's Quay CentralFlintshireReform UK 49.3%Gain from Independent
    9 JulHigh FellGatesheadReform UK 35.7%Not known
    9 JulLlanrugGwyneddIndependent 57.4%Not known
    9 JulClapham ParkLambethGreen 31.6%Not known
    9 JulStreatham St Leonard’sLambethLiberal Democrats 33.7%Not known
    9 JulTrebanosNeath Port TalbotPlaid Cymru - The Party of Wales 51.1%Not known
    9 JulSuffield ParkNorth NorfolkLiberal Democrats 65.4%Hold
    9 JulPembroke Dock: MarketPembrokeshireConservative 37.7%Gain from Independent
    9 JulLarkhallSouth LanarkshireReform UK 35.2%Not known
    9 JulKinwartonStratford-On-AvonConservative 36.4%Gain from Liberal Democrats
    9 JulBarucVale of GlamorganPlaid Cymru - The Party of Wales 47.7%Not known
    16 JulDereham ToftwoodBrecklandConservative 45.9%Gain from Labour
    16 JulRamsey and BuryCambridgeshireReform UK 29.7%Hold
    16 JulKidlington WestCherwellLiberal Democrats 47.8%Hold
    16 JulOld CattonNorfolkNot recordedHold
    16 JulFletton and WoodstonPeterboroughGreen 41.2%Not known
    16 JulNorfolk ConstabularyPolice and Crime Commissioner for Norfolk by-electionReform UK 26.7%Not known
    16 JulWellingtonRushmoorLabour 42.1%Hold
    16 JulHimley & SwindonSouth StaffordshireConservative 44.2%Hold
    16 JulManorStaffordLabour 36.2%Hold
    23 JulExmouth BrixingtonEast DevonConservative 35.2%Hold
    23 JulCuxton, Halling & RiversideMedwayReform UK 35.7%Gain from Conservative
    23 JulLongwell GreenSouth GloucestershireConservative 37.3%Hold
    23 JulGrays RiversideThurrockLabour 30.2%Not known
    23 JulGrays TownThurrockLabour 34.2%Gain from Reform UK
    6 AugHengoedCaerphillyPlaid Cymru - The Party of Wales 49.9%Not known
    6 AugHeachamKing's Lynn And West NorfolkReform UK 37.8%Not known
    6 AugSnettishamKing's Lynn And West NorfolkReform UK 35.1%Gain from Conservative
    6 AugHooley, Merstham & NetherneReigate & BansteadGreen 41.8%Hold
    6 AugHartonSouth TynesideReform UK 28.9%Not known
    13 AugHoniton St Michael'sEast DevonLiberal Democrats 45.9%Not known
    13 AugAlmondburyKirkleesNot recordedNot known
    20 AugPenistone EastBarnsleyNot recordedNot known
    20 AugHarraby SouthCumberlandReform UK 42.5%Gain from Labour
    20 AugSt Neots EynesburyHuntingdonshireLiberal Democrats 45.3%Not known
    20 AugLeen ValleyNottinghamLabour 30.5%Hold
    27 AugGuston, Kingsdown & St Margaret's-at-CliffeDoverGreen 28.8%Gain from Conservative
    27 AugThrockley, Walbottle & NewburnNewcastle Upon TyneReform UK 28.5%Hold
    27 AugSoutheySheffieldReform UK 50.6%Not known
    27 AugBillinge & Seneley GreenSt. HelensNot recordedHold
    27 AugTrinityWandsworthLabour 44.0%Not known
    2 SeptKingswoodStroudLiberal Democrats 64.0%Hold
    3 SeptPortobello/CraigmillarEdinburghScottish Green Party 28.0%Gain from SNP
    3 SeptSouthside/NewingtonEdinburghLabour 32.2%Gain from SNP
    3 SeptChesterton & LauntonOxfordshireLiberal Democrats 41.7%Hold
    3 SeptLlantwit FardreRhondda Cynon TafConservative 57.6%Hold
    3 SeptFrome WestSomersetGreen 41.4%Hold
    10 SeptCordwainerCity of London CorporationIndependentNot known
    10 SeptBurnageManchesterLabour 42.1%Hold
    10 SeptEckington South & RenishawNorth East DerbyshireReform UK 40.2%Gain from Labour
    10 SeptHutton & LockingNorth SomersetReform UK 38.5%Not known
    10 SeptBridgeRedbridgeIndependentNot known
    10 SeptHaverhill WestWest SuffolkConservative 51.3%Not known
    15 SeptEast MarkhamBassetlawReform UK 49.6%Gain from Conservative
    17 SeptWreake ValleyCharnwoodConservative 48.2%Gain from Green
    17 SeptWalkleySheffieldLabour 55.6%Not known
    17 SeptAvondale and StonehouseSouth LanarkshireSNPHold
    23 SeptCranbrook, Sissinghurst and FrittendenTunbridge WellsLiberal Democrats 37.4%Not known
    24 SeptQueen's ParkBrighton & HoveGreen 50.1%Gain from Labour
    24 SeptBlockleyCotswoldConservative 54.7%Gain from Green
    24 SeptNew BradwellMilton KeynesLabour 80.5%Hold
    24 SeptWombourne NorthSouth StaffordshireConservative 50.1%Hold
    24 SeptBrayWindsor & MaidenheadConservative 36.1%Not known
    1 OctClaremontBlackpoolLabour 41.8%Hold
    1 OctWick and East CaithnessHighlandLiberal DemocratsGain from SNP
    1 OctLong Whatton & DiseworthNorth West LeicestershireConservative 55.5%Hold
    1 OctHirstNorthumberlandNot recordedHold
    1 OctAmbleNorthumberland County CouncilLabour 38.8%Not known
    1 OctHirstNorthumberland County CouncilLabour 71.6%Not known
    1 OctForth and EndrickStirlingConservativeHold
    1 OctForth and EndrickStirling District CouncilNot recordedNot known
    8 OctMidstocket/RosemountAberdeenSNPHold
    8 OctKilburn, Denby, Holbrook & HorsleyAmber ValleyGreen 29.5%Not known
    8 OctMyatt's FieldsMetropolitan Borough of LambethLabour 46.7%Not known
    8 OctTownNewcastle-under-LymeLabour 52.4%Not known
    13 OctRodboroughStroudNot recordedHold
    15 OctHigher KinnertonFlintshire County CouncilNot recordedNot known
    15 OctShepshedLeicestershireNot recordedHold
    15 OctBradninchMid DevonNot recordedHold
    15 OctSalisbury MilfordWiltshireNot recordedHold