Psephology.AI
    All years

    2024 council by-elections

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

    Gains and losses by party

    PartyGainedLostNet
    Conservative4819▲ +29
    Reform UK80▲ +8
    Green72▲ +5
    Liberal Democrats1614▲ +2
    Plaid Cymru - The Party of Wales20▲ +2
    Scottish Green Party10▲ +1
    Independent1012▼ -2
    Swanscombe and Greenhithe Residents' Association02▼ -2
    Labour2940▼ -11
    SNP032▼ -32

    Every by-election

    DateWardWinnerPreviously
    11 JanSouth PortsladeBrighton & HoveLabour 54.6%Hold
    11 JanLittlemoor and PrestonDorsetConservative 53.7%Hold
    11 JanQuaysSalfordLiberal Democrats 38.0%Gain from Labour
    11 JanBluehouseTendringIndependent 38.6%Gain from Labour
    18 JanCazenoveHackneyConservative 53.8%Gain from Labour
    18 JanHampton NorthRichmond upon ThamesLiberal Democrats 53.2%Hold
    18 JanTeddingtonRichmond upon ThamesLiberal Democrats 64.3%Hold
    18 JanStanningtonSheffieldLiberal Democrats 52.7%Hold
    18 JanTooting BroadwayWandsworthLabour 67.3%Hold
    18 JanWarwick All Saints & WoodloesWarwickLabour 52.5%Hold
    25 JanDunblane and Bridge of AllanStirlingConservative 52.6%Gain from SNP
    1 FebCandlewickCity Of LondonIndependentNot known
    1 FebCheapCity Of LondonIndependentNot known
    8 FebEbbw Vale SouthBlaenau GwentIndependent 60.4%Gain from Labour
    8 FebCrewe CentralCheshire EastConservative 43.3%Gain from Labour
    8 FebCricciethGwyneddPlaid Cymru - The Party of Wales 71.9%Gain from Independent
    8 FebEast Hunsbury And ShelfleysWest NorthamptonshireLiberal Democrats 38.8%Gain from Conservative
    15 FebTring West & RuralDacorumLiberal Democrats 62.7%Hold
    15 FebFour Marks & MedsteadEast HampshireLiberal Democrats 62.2%Hold
    15 FebAvenueKingston Upon HullLiberal Democrats 45.7%Gain from Labour
    15 FebBriton Ferry EastNeath Port TalbotLabour 52.4%Gain from Independent
    15 FebRhosNeath Port TalbotIndependent 52.1%Not known
    22 FebFarnham Common And Burnham BeechesBuckinghamshireConservative 51.8%Hold
    22 FebHazlemereBuckinghamshireConservative 36.5%Gain from Independent
    22 FebBakewellDerbyshire DalesLabour 37.7%Gain from Conservative
    22 FebNorburyDerbyshire DalesConservative 63.1%Hold
    22 FebRomney MarshFolkestone And HytheConservative 26.7%Gain from Labour
    22 FebLoughton and ShenleyMilton KeynesLabour 46.2%Hold
    22 FebJedburgh and DistrictScottish BordersConservative 58.6%Gain from SNP
    22 FebCalne Chilvester And AbberdWiltshireLiberal Democrats 45.3%Gain from Conservative
    29 FebMinster & WoodmanseyEast Riding Of YorkshireLiberal Democrats 50.7%Hold
    29 FebTranbyEast Riding Of YorkshireLiberal Democrats 55.3%Hold
    29 FebCentral & NorthgateGreat YarmouthLabour 52.6%Hold
    29 FebHenfieldHorshamGreen 44.2%Gain from Conservative
    29 FebSouthwater NorthHorshamConservative 49.0%Gain from Liberal Democrats
    6 MarElliCarmarthenshireIndependent 35.2%Hold
    7 MarABERKENFIGBridgendLabour 55.2%Not known
    7 MarMayor of LewishamEnglandLabour 51.8%Hold
    7 MarHillheadGlasgowScottish Green Party 31.5%Gain from SNP
    7 MarUpper Yeo & TawMid DevonLiberal Democrats 52.2%Hold
    14 MarCastleLancasterGreen 65.0%Hold
    14 MarCricklade And LattonWiltshireLiberal Democrats 76.0%Hold
    21 MarYaxley and FarcetCambridgeshireLiberal Democrats 31.0%Gain from Conservative
    21 MarBrynford & HalkynFlintshireLabour 38.2%Hold
    21 MarWhitefieldKnowsleyIndependent 54.1%Gain from Labour
    21 MarHeckington RuralNorth KestevenConservative 33.7%Hold
    21 MarTowerSuffolkIndependentNot known
    28 MarNeath EastNeath Port TalbotLabour 50.3%Hold
    28 MarStromness and South IslesOrkney IslandsIndependent 100.0%Not known
    28 MarSomertonSomersetLiberal Democrats 50.1%Hold
    4 AprLooe West, Pelynt, Lansallos And LanteglosCornwallLiberal Democrats 44.8%Hold
    4 AprDesboroughNorth NorthamptonshireConservative 47.3%Hold
    4 AprUckfield New TownWealdenIndependent 37.0%Gain from Labour
    11 AprInverness SouthHighlandIndependent 22.1%Gain from SNP
    11 AprStray, Woodlands and HookstoneNorth YorkshireLiberal Democrats 43.9%Hold
    16 AprSt Ishmael'sPembrokeshireConservative 55.1%Gain from Independent
    18 AprEly WestEast CambridgeshireLiberal Democrats 47.9%Hold
    18 AprFarnham CastleWaverleyFarnham Residents 32.5%Hold
    25 AprArbroath West, Letham and FriockheimAngusConservative 42.0%Gain from SNP
    25 AprGrangetownCardiffLabour 48.2%Hold
    2 MayCrich & South WingfieldAmber ValleyConservative 35.9%Gain from Liberal Democrats
    2 MayRiverfieldBedfordLiberal Democrats 57.3%Hold
    2 MayBournbrook & Selly ParkBirminghamLabour 39.0%Hold
    2 MayCanford CliffsBournemouth, Christchurch & PooleConservative 62.0%Hold
    2 MayHermitageBrecklandConservative 40.5%Gain from Liberal Democrats
    2 MayKemptownBrighton & HoveLabour 45.9%Hold
    2 MayQueen's ParkBrighton & HoveLabour 46.1%Hold
    2 MayShortlands & Park LangleyBromleyConservative 42.4%Hold
    2 MayAttenborough & Chilwell EastBroxtoweLabour 46.0%Hold
    2 MayFrognalCamdenConservative 49.8%Hold
    2 MayLoughborough EastCharnwoodLabour 62.1%Hold
    2 MayWolverhamCheshire West & ChesterLabour 70.2%Hold
    2 MayHordenCounty DurhamLabour 76.2%Hold
    2 MayPark Hill & WhitgiftCroydonConservative 42.9%Hold
    2 MayWoodsideCroydonLabour 49.3%Hold
    2 MayExmouth BrixingtonEast DevonConservative 37.2%Hold
    2 MayHarlow South EastEssexConservative 48.6%Hold
    2 MayHoxton East & ShoreditchHackneyLabour 59.2%Hold
    2 MayFareham SarisburyHampshireConservative 46.7%Hold
    2 MayHillingdon EastHillingdonConservative 58.1%Hold
    2 MayBrentford WestHounslowLabour 36.6%Hold
    2 MayGreat PaxtonHuntingdonshireLiberal Democrats 47.8%Gain from Conservative
    2 MayHillriseIslingtonLabour 83.0%Hold
    2 MayNorlandKensington and ChelseaConservative 51.0%Hold
    2 MayKnight's HillLambethLabour 56.0%Hold
    2 MayStreatham Common & ValeLambethLabour 72.0%Hold
    2 MayCarnforth & MillheadLancasterLabour 47.3%Hold
    2 MayBurbageLeicestershireLiberal Democrats 51.3%Gain from Conservative
    2 MayParkLincolnshireLabour 45.2%Hold
    2 MayChiltonMid SuffolkGreen 47.2%Hold
    2 MaySnibston SouthNorth West LeicestershireLabour 51.3%Hold
    2 MayMendip SouthSomersetLiberal Democrats 47.3%Hold
    2 MayMelbourneSouth DerbyshireConservative 45.4%Gain from Labour
    2 MayNew CheltenhamSouth GloucestershireLabour 48.2%Hold
    2 MayBunwellSouth NorfolkGreen 40.5%Gain from Conservative
    2 MayMeir NorthStoke On TrentLabour 53.9%Hold
    2 MaySt Helier WestSuttonConservative 36.0%Gain from Labour
    2 MayAshburton & BuckfastleighTeignbridgeLiberal Democrats 30.6%Hold
    2 MayBideford NorthTorridgeLiberal Democrats 29.7%Hold
    2 MayWest PutneyWandsworthConservative 45.3%Gain from Labour
    2 MayLeamington ClarendonWarwickLabour 51.7%Hold
    2 MayMilford & WitleyWaverleyLiberal Democrats 44.6%Hold
    2 MayTavistock NorthWest DevonLiberal Democrats 28.1%Hold
    2 MayGrange and CartmelWestmorland and FurnessLiberal Democrats 77.2%Hold
    2 MayEvesham North WestWorcestershireConservative 36.5%Hold
    9 MayKilwinningNorth AyrshireLabour 54.3%Gain from SNP
    23 MayWymondhamMeltonConservative 65.6%Hold
    30 MayKingstandingBirminghamConservative 49.7%Gain from Labour
    4 JunRHIWCYNONPowysConservative 40.1%Gain from Independent
    6 JunAxholme NorthNorth LincolnshireConservative 66.9%Hold
    6 JunBrumbyNorth LincolnshireLabour 61.5%Hold
    6 JunThe NedgeTelford & WrekinLabour 54.4%Hold
    6 JunWellswoodTorbayConservative 42.3%Hold
    13 JunMottingham, Coldharbour & New ElthamGreenwichConservative 47.1%Gain from Labour
    13 JunTain and Easter RossHighlandIndependent 37.4%Gain from SNP
    13 JunClydebank CentralWest DunbartonshireLabour 49.6%Gain from SNP
    20 JunRadfordCoventryLabour 58.0%Hold
    20 JunWest BankMansfieldLabour 38.4%Gain from Conservative
    20 JunTiverton WestexeMid DevonLiberal Democrats 45.4%Hold
    20 JunSutton Courtenay and MarchamOxfordshireLiberal Democrats 36.6%Hold
    20 JunSt OswaldSeftonLabour 73.3%Hold
    20 JunSutton CourtenayVale Of White HorseLiberal Democrats 83.3%Hold
    27 JunHarraby NorthCumberlandLabour 60.5%Hold
    27 JunHoxton WestHackneyLabour 64.0%Hold
    27 JunPrimroseSouth TynesideIndependent 54.2%Hold
    4 JulBarnet ValeBarnetLabour 41.1%Hold
    4 JulRamptonBassetlawConservative 59.2%Hold
    4 JulWybostonBedfordConservative 58.0%Hold
    4 JulKing's Norton NorthBirminghamLabour 40.5%Hold
    4 JulNorthfieldBirminghamLabour 40.5%Hold
    4 JulQueens ParkBrentLabour 43.6%Hold
    4 JulBrunswick & AdelaideBrighton & HoveGreen 42.7%Gain from Labour
    4 JulHorfieldBristol, City ofLabour 54.6%Hold
    4 JulNorthwich LeftwichCheshire West & ChesterLabour 48.4%Hold
    4 JulSpireChesterfieldLabour 45.1%Hold
    4 JulStaveley NorthChesterfieldLabour 34.4%Gain from Liberal Democrats
    4 JulCripplegateCity Of LondonIndependentNot known
    4 JulFarringdon WithinCity Of LondonIndependent 100.0%Not known
    4 JulCoxhoeCounty DurhamLabour 52.1%Hold
    4 JulMaidenbowerCrawleyConservative 57.2%Hold
    4 JulTownDoncasterLabour 49.8%Hold
    4 JulEast Wolds & CoastalEast Riding Of YorkshireConservative 41.6%Hold
    4 JulSouth East HoldernessEast Riding Of YorkshireReform UK 34.8%Gain from Labour
    4 JulCarlton ColvilleEast SuffolkConservative 34.9%Hold
    4 JulCobham & DownsideElmbridgeConservative 53.0%Hold
    4 JulBasildon PitseaEssexLabour 43.9%Hold
    4 JulWhittlesey SouthFenlandConservative 47.0%Gain from Independent
    4 JulGrange and Alver ValleyGosportLabour 40.8%Gain from Conservative
    4 JulCazenoveHackneyLabour 43.9%Hold
    4 JulHornseyHaringeyLabour 51.8%Hold
    4 JulHanworth VillageHounslowLabour 40.0%Hold
    4 JulHook & Chessington NorthKingston upon ThamesLiberal Democrats 47.7%Hold
    4 JulStreatham Common & ValeLambethLabour 54.9%Hold
    4 JulUniversityLancasterGreen 45.1%Gain from Labour
    4 JulBlackheathLewishamLabour 43.8%Hold
    4 JulBroadgreenLiverpoolLabour 55.9%Hold
    4 JulClubmoor EastLiverpoolLabour 79.0%Hold
    4 JulFazakerley NorthLiverpoolLabour 71.4%Hold
    4 JulFigge's MarshMertonLabour 66.1%Hold
    4 JulSt HelierMertonLabour 47.9%Hold
    4 JulAcklamMiddlesbroughLabour 38.9%Gain from Liberal Democrats
    4 JulCentralMiddlesbroughLabour 60.5%Hold
    4 JulNa HearadhNa h-Eileanan an IarIndependent 94.3%Hold
    4 JulMadeley & BetleyNewcastle-under-LymeConservative 37.7%Hold
    4 JulForest Gate North [merged 3fa3dc44]NewhamLabour 43.0%Not known
    4 JulMaryland [merged 9918fb2a]NewhamLabour 43.0%Not known
    4 JulNorth Walsham EastNorth NorfolkLiberal Democrats 45.7%Hold
    4 JulLea and LarchesPrestonLiberal Democrats 40.9%Hold
    4 JulSt Mary'sRibble ValleyLabour 32.8%Gain from Liberal Democrats
    4 JulLinacreSeftonLabour 81.2%Hold
    4 JulHattonSouth DerbyshireConservative 43.5%Gain from Labour
    4 JulKingswoodSouth GloucestershireLabour 55.1%Hold
    4 JulKursaalSouthend-On-SeaLabour 68.4%Hold
    4 JulFaradaySouthwarkLabour 58.4%Hold
    4 JulRye LaneSouthwarkLabour 53.5%Hold
    4 JulAshford EastSpelthorneConservative 27.4%Gain from Independent
    4 JulWindleSt. HelensLabour 53.4%Hold
    4 JulPakefieldSuffolkLabour 40.0%Gain from Conservative
    4 JulRickmansworth TownThree RiversConservative 55.4%Hold
    4 JulJuddTonbridge And MallingGreen 63.6%Hold
    4 JulAbbey RoadWestminsterConservative 43.9%Hold
    4 JulLeigh SouthWiganLabour 52.1%Hold
    4 JulSt MichaelWinchesterLiberal Democrats 64.5%Hold
    4 JulLiscardWirralLabour 59.6%Hold
    4 JulHull RoadYorkLabour 38.5%Hold
    18 JulKintyre and the IslandsArgyll and ButeSNP 43.4%Hold
    18 JulBeckton [merged 73b230e0]NewhamLabour 38.7%Not known
    18 JulLittle Ilford [merged e93c535c]NewhamLabour 39.0%Not known
    18 JulMarstonOxfordNot recordedHold
    15 AugAberbargoed & BargoedCaerphillyLabour 46.2%Hold
    15 AugHillriseIslingtonLabour 32.8%Hold
    15 AugDunblane and Bridge of AllanStirlingLabour 23.3%Gain from SNP
    22 AugCramlington EastfieldNorthumberlandConservative 43.7%Hold
    22 AugAbbots Langley and BedmondThree RiversConservative 40.5%Gain from Liberal Democrats
    22 AugArmadale and BlackridgeWest LothianLabour 28.9%Gain from SNP
    29 AugBedwellHertfordshireLabour 46.9%Hold
    29 AugBadsey & AldingtonWychavonConservative 32.7%Hold
    29 AugHarvington & NortonWychavonIndependent 42.6%Gain from Conservative
    3 SeptPriorySwaleLiberal Democrats 42.5%Hold
    5 SeptCamden SquareCamdenLabour 51.7%Hold
    5 SeptKentish Town SouthCamdenLabour 46.8%Hold
    5 SeptKilburnCamdenLabour 51.5%Hold
    5 SeptCrewe WestCheshire EastLabour 43.4%Hold
    5 SeptBaguleyManchesterLabour 46.9%Hold
    5 SeptBedlinog & TrelewisMerthyr TydfilLabour 49.4%Gain from Independent
    5 SeptLongbeckRedcar & ClevelandConservative 44.8%Gain from Labour
    12 SeptRomseyCambridgeLabour 39.2%Hold
    12 SeptBridgesGatesheadLabour 23.3%Hold
    12 SeptLondon FieldsHackneyLabour 54.1%Hold
    12 SeptStoke NewingtonHackneyGreen 53.0%Gain from Labour
    12 SeptBletchley EastMilton KeynesLabour 44.4%Hold
    12 SeptNorth JesmondNewcastle Upon TyneLiberal Democrats 52.6%Hold
    12 SeptFreebridge LynnNorfolkIndependent 53.8%Gain from Conservative
    12 SeptArranNorth AyrshireLabour 45.4%Gain from Conservative
    12 SeptNorth Walsham Market CrossNorth NorfolkLiberal Democrats 46.5%Hold
    12 SeptBow EastTower HamletsLabour 53.3%Hold
    16 SeptBestwood St AlbansGedlingConservative 47.8%Gain from Labour
    19 SeptSidemoorBromsgroveLiberal Democrats 52.6%Gain from Labour
    19 SeptFalmouth PenwerrisCornwallLabour 44.7%Hold
    19 SeptBurn ValleyHartlepoolLabour 47.5%Hold
    19 SeptSt Neots The EatonsHuntingdonshireIndependent 35.4%Gain from Conservative
    19 SeptFairfieldStockton-on-TeesConservative 54.2%Hold
    19 SeptHarrow RoadWestminsterLabour 44.2%Hold
    19 SeptWest EndWestminsterConservative 48.8%Gain from Labour
    19 SeptMarineWorthingConservative 40.7%Gain from Labour
    24 SeptThurstonMid SuffolkConservative 49.2%Gain from Green
    24 SeptGodalming Binscombe & CharterhouseWaverleyConservative 40.6%Gain from Liberal Democrats
    26 SeptRhyl TrellewelynDenbighshireConservative 50.8%Gain from Labour
    26 SeptStrettonEast StaffordshireConservative 70.8%Gain from Labour
    26 SeptCredenhillHerefordshireIndependent 45.3%Gain from Liberal Democrats
    26 SeptCromarty FirthHighlandLiberal Democrats 32.4%Gain from SNP
    26 SeptInverness CentralHighlandLabour 27.9%Gain from SNP
    26 SeptBarnfieldLutonLiberal Democrats 63.5%Hold
    26 SeptWigmoreLutonLiberal Democrats 54.6%Hold
    26 SeptPerth City NorthPerth and KinrossSNP 44.7%Hold
    26 SeptStrathallanPerth and KinrossLiberal Democrats 30.0%Gain from SNP
    3 OctMartonBlackpoolReform UK 38.8%Gain from Labour
    3 OctLocheeDundeeSNP 37.3%Hold
    3 OctStrathmartineDundeeSNP 35.0%Hold
    3 OctScotforth EastLancasterGreen 57.8%Gain from Labour
    9 OctMachynllethPowysPlaid Cymru - The Party of Wales 35.9%Gain from Independent
    10 OctSt. MichaelsCoventryLabour 41.9%Hold
    10 OctHanger HillEalingLiberal Democrats 52.3%Hold
    10 OctNortholt MandevilleEalingLabour 44.7%Hold
    10 OctSouth ActonEalingLabour 48.5%Hold
    10 OctHersham VillageElmbridgeConservative 55.4%Gain from Liberal Democrats
    10 OctWeybridge St George's HillElmbridgeNot recordedHold
    10 OctWartonFyldeConservative 51.2%Gain from Independent
    10 OctLittle Parndon and Town CentreHarlowLabour 50.3%Hold
    10 OctFarnley & WortleyLeedsNot recordedHold
    10 OctWivelsfieldLewesGreen 42.3%Hold
    10 OctClay Cross NorthNorth East DerbyshireConservative 51.0%Gain from Labour
    10 OctFortissatNorth LanarkshireLabour 36.6%Gain from SNP
    10 OctMossend and HolytownNorth LanarkshireLabour 36.5%Gain from SNP
    10 OctBurton And BroughtonNorth NorthamptonshireConservative 46.4%Hold
    10 OctThe HavensPembrokeshireConservative 52.1%Gain from Independent
    10 OctAddlestone SouthRunnymedeConservative 41.1%Hold
    10 OctBamber Bridge WestSouth RibbleLabour 44.8%Hold
    10 OctShirleySouthamptonNot recordedHold
    10 OctHoxne and EyeSuffolkConservative 45.3%Hold
    10 OctHeeneWorthingConservative 42.0%Gain from Labour
    17 OctAylesford & East StourAshfordGreen 31.6%Gain from Labour
    17 OctBelvedereBexleyLabour 38.5%Hold
    17 OctTirymynachCeredigionLiberal Democrats 48.9%Hold
    17 OctKeswickCumberlandLabour 50.7%Hold
    17 OctWetheralCumberlandConservative 51.6%Hold
    17 OctFalkirk SouthFalkirkLabour 30.5%Gain from SNP
    17 OctEltham Town & Avery HillGreenwichConservative 48.8%Gain from Labour
    17 OctLlanberisGwyneddPlaid Cymru - The Party of Wales 60.9%Not known
    17 OctHolme Valley SouthKirkleesNot recordedHold
    17 OctRoyston PalaceNorth HertfordshireLabour 25.2%Hold
    17 OctHarpenden North and RuralSt AlbansConservative 42.8%Gain from Liberal Democrats
    17 OctBredbury Green and RomileyStockportLiberal Democrats 59.3%Hold
    17 OctCheadle West and GatleyStockportLiberal Democrats 44.1%Hold
    17 OctRodbourne CheneySwindonNot recordedHold
    17 OctGrange and CartmelWestmorland and FurnessLiberal Democrats 84.8%Hold
    17 OctAscot & SunninghillWindsor & MaidenheadConservative 58.5%Hold
    24 OctMuscliff & Strouden ParkBournemouth, Christchurch & PooleConservative 47.9%Gain from Independent
    24 OctCalderCalderdaleLabour 38.9%Hold
    24 OctNorthgate and West GreenCrawleyLabour 36.4%Hold
    24 OctPrestatyn NorthDenbighshireConservative 25.9%Gain from Labour
    24 OctCROFTEast LindseyConservative 46.5%Hold
    24 OctWhickham NorthGatesheadLiberal Democrats 52.3%Hold
    24 OctTalybolionIsle of AngleseyIndependent 51.6%Not known
    24 OctHemlingtonMiddlesbroughLabour 53.1%Hold
    24 OctTownMonmouthshireConservative 58.9%Gain from Labour
    24 OctBarton & BectonNew ForestConservative 57.1%Hold
    24 OctHiston & ImpingtonSouth CambridgeshireLiberal Democrats 38.7%Hold
    24 OctMiddleforthSouth RibbleConservative 46.3%Gain from Labour
    24 OctOld DeanSurrey HeathLiberal Democrats 44.7%Gain from Conservative
    31 OctSileby & SeagraveCharnwoodGreen 52.9%Hold
    31 OctBishops WalthamHampshireLiberal Democrats 52.2%Gain from Conservative
    31 OctNorth MiddletonRochdaleNot recordedHold
    31 OctEcclesSalfordLabour 48.1%Hold
    31 OctBramhall South and WoodfordStockportNot recordedHold
    31 OctKirkby Stephen and TebayWestmorland and FurnessLiberal Democrats 82.7%Hold
    31 OctBilston NorthWolverhamptonReform UK 34.8%Gain from Labour
    7 NovCentral BuchanAberdeenshireConservative 41.3%Gain from SNP
    7 NovFraserburgh and DistrictAberdeenshireConservative 36.4%Gain from SNP
    7 NovMearnsAberdeenshireConservative 39.2%Gain from SNP
    7 NovBisphamBlackpoolLabour 31.6%Gain from Conservative
    7 NovGreat HollandsBracknell ForestLabour 44.6%Hold
    7 NovBishops Frome & CradleyHerefordshireGreen 60.1%Hold
    7 NovInverclyde WestInverclydeLabour 34.0%Gain from SNP
    7 NovElgin City SouthMorayConservative 31.6%Gain from SNP
    7 NovMarsh MillWyreReform UK 38.6%Gain from Conservative
    14 NovCalver & LongstoneDerbyshire DalesConservative 47.6%Gain from Green
    14 NovDoon ValleyEast AyrshireLabour 32.4%Gain from SNP
    14 NovKilmarnock West and CrosshouseEast AyrshireLabour 39.4%Gain from SNP
    14 NovColinton/FairmileheadEdinburghLiberal Democrats 36.9%Gain from SNP
    14 NovShooters HillGreenwichLabour 57.9%Hold
    14 NovBradwellMilton KeynesLiberal Democrats 51.8%Hold
    14 NovBroughtonMilton KeynesLiberal Democrats 43.8%Hold
    14 NovWanstead ParkRedbridgeLabour 46.9%Hold
    14 NovHadley & LeegomeryTelford & WrekinLabour 45.3%Hold
    14 NovThe NedgeTelford & WrekinLabour 33.8%Hold
    14 NovWhitburn and BlackburnWest LothianLabour 30.9%Gain from SNP
    14 NovChipping NortonWest OxfordshireLiberal Democrats 31.3%Gain from Labour
    21 NovBennetts EndDacorumLabour 37.1%Hold
    21 NovHemel Hempstead TownDacorumConservative 43.7%Gain from Liberal Democrats
    21 NovGreenhithe & KnockhallDartfordReform UK 31.2%Gain from Swanscombe and Greenhithe Residents' Association
    21 NovDrumchapel/AnnieslandGlasgowLabour 34.4%Gain from SNP
    21 NovMaryhillGlasgowLabour 35.9%Gain from SNP
    21 NovNorth EastGlasgowLabour 34.3%Gain from SNP
    21 NovHarbourside and TownGosportNot recordedHold
    21 NovFort William and ArdnamurchanHighlandLiberal Democrats 58.9%Gain from SNP
    21 NovDenneHorshamConservative 38.6%Gain from Liberal Democrats
    21 NovSwanscombe and GreenhitheKentReform UK 29.1%Gain from Swanscombe and Greenhithe Residents' Association
    21 NovOakham North EastRutlandLiberal Democrats 40.9%Hold
    21 NovLitherlandSeftonLabour 43.6%Hold
    21 NovBlackmoor ValeSomersetConservative 57.4%Gain from Liberal Democrats
    21 NovRowbarton and StaplegroveSomersetLiberal Democrats 58.3%Hold
    21 NovMurstonSwaleSwale Independents 34.5%Hold
    28 NovNorthburyBarking and DagenhamLabour 57.7%Hold
    28 NovVillageBarking and DagenhamLabour 50.8%Hold
    28 NovJubileeEnfieldLabour 39.4%Hold
    28 NovWest Fife and Coastal VillagesFifeLabour 33.1%Gain from SNP
    28 NovJunctionIslingtonLabour 42.5%Hold
    28 NovWoodhouseSheffieldLiberal Democrats 31.2%Gain from Labour
    28 NovFrampton CotterellSouth GloucestershireLiberal Democrats 49.3%Hold
    28 NovKilpatrickWest DunbartonshireLabour 43.1%Gain from SNP
    28 NovHaxby & WiggintonYorkLiberal Democrats 64.0%Hold
    5 DecSplottCardiffLabour 34.0%Hold
    5 DecKilgrimolFyldeConservative 46.1%Hold
    5 DecPartick East/KelvindaleGlasgowLabour 37.5%Gain from SNP
    5 DecCholseySouth OxfordshireLiberal Democrats 62.2%Hold
    5 DecStirling EastStirlingSNP 34.6%Hold
    5 DecShinfieldWokinghamNot recordedHold
    12 DecDodworthBarnsleyLiberal Democrats 45.0%Hold
    12 DecSouth Hanningfield Stock & MargarettingChelmsfordConservative 81.3%Hold
    12 DecStockEssexConservative 46.4%Hold
    12 DecOttershawRunnymedeIndependent 32.9%Hold
    12 DecBlackbrookSt. HelensReform UK 41.1%Gain from Labour
    12 DecFeatherstoneWakefieldLabour 42.1%Hold
    19 DecBassishawCity Of LondonIndependent 100.0%Not known
    19 DecBillingsgateCity Of LondonIndependent 100.0%Not known
    19 DecBroad StreetCity Of LondonIndependent 100.0%Not known
    19 DecBrockmoor and PensnettDudleyNot recordedHold
    19 DecWest ThamesmeadGreenwichLabour 45.1%Hold
    19 DecMilton RegisSwaleReform UK 33.9%Gain from Labour