Psephology.AI
    All years

    2021 council by-elections

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

    Gains and losses by party

    PartyGainedLostNet
    Conservative7830▲ +48
    Green140▲ +14
    Plaid Cymru - The Party of Wales20▲ +2
    Christchurch Independents10▲ +1
    Tunbridge Wells Alliance10▲ +1
    Lincolnshire Independents Lincolnshire First01▼ -1
    HOSEM01▼ -1
    Thanet Independents01▼ -1
    City Independents01▼ -1
    Morecambe Bay Independents01▼ -1
    Independent1719▼ -2
    Liberal Democrats1223▼ -11
    SNP015▼ -15
    Labour942▼ -33

    Every by-election

    DateWardWinnerPreviously
    4 MarFortissatNorth LanarkshireLabour 38.4%Gain from SNP
    4 MarThorniewoodNorth LanarkshireLabour 36.4%Gain from SNP
    11 MarAird and Loch NessHighlandIndependent 28.3%Gain from SNP
    11 MarLeaderdale and MelroseScottish BordersConservative 40.8%Gain from SNP
    11 MarLivingston SouthWest LothianSNP 43.9%Hold
    18 MarHelensburgh and Lomond SouthArgyll and ButeConservative 50.7%Gain from SNP
    18 MarIsle of ButeArgyll and ButeIndependent 36.2%Gain from SNP
    18 MarEiriasConwyIndependent 34.1%Hold
    18 MarCorwenDenbighshirePlaid Cymru - The Party of Wales 65.6%Not known
    18 MarBailliestonGlasgowSNP 50.0%Hold
    18 MarPartick East/KelvindaleGlasgowSNP 32.1%Hold
    18 MarMaesydreWrexhamPlaid Cymru - The Party of Wales 30.7%Gain from Labour
    25 MarLlanrugGwyneddPlaid Cymru - The Party of Wales 64.5%Not known
    25 MarMidlothian EastMidlothianSNP 35.4%Hold
    25 MarAlmond and EarnPerth and KinrossConservative 51.1%Gain from SNP
    1 AprSt KingsmarkMonmouthshireConservative 55.7%Hold
    8 AprAbersychanTorfaenLabour 60.2%Hold
    8 AprCwmyniscoyTorfaenLabour 77.1%Hold
    8 AprNew InnTorfaenConservative 53.8%Hold
    6 MayAspatriaAllerdaleIndependent 50.4%Not known
    6 MayChristchurchAllerdaleConservative 48.6%Not known
    6 MayEllen and GilcruxAllerdaleConservative 39.4%Not known
    6 MaySeaton and NorthsideAllerdaleConservative 41.5%Not known
    6 MayBrookfieldArunConservative 48.5%Gain from Liberal Democrats
    6 MayPevenseyArunConservative 38.3%Gain from Liberal Democrats
    6 MayAnnesley & Kirkby WoodhouseAshfieldAshfield Independents 74.9%Hold
    6 MaySkegbyAshfieldAshfield Independents 60.7%Hold
    6 MayBeaverAshfordConservative 42.2%Gain from Labour
    6 MayGreat CornardBaberghConservative 48.1%Hold
    6 MayThamesBarking and DagenhamLabour 42.4%Hold
    6 MayEast BarnetBarnetConservative 43.8%Gain from Labour
    6 MayEdgwareBarnetConservative 62.5%Hold
    6 MayHindpoolBarrow-in-FurnessLabour 62.6%Hold
    6 MayRoosecoteBarrow-in-FurnessConservative 61.0%Hold
    6 MayRanskillBassetlawConservative 63.0%Not known
    6 MayLonglandsBexleyConservative 62.1%Hold
    6 MayBillesleyBirminghamLabour 54.8%Hold
    6 MayHall Green NorthBirminghamLabour 53.7%Hold
    6 MayOscottBirminghamConservative 54.4%Gain from Labour
    6 MayQuintonBirminghamConservative 48.7%Gain from Labour
    6 MayStanton and FlamvilleBlabyConservative 62.0%Hold
    6 MayHighfieldBlackpoolConservative 54.9%Gain from Labour
    6 MayNorbreckBlackpoolConservative 50.6%Gain from Independent
    6 MayBolsover North & ShuttlewoodBolsoverLabour 51.5%Hold
    6 MayPinxtonBolsoverLabour 49.4%Hold
    6 MaySkirbeckBostonConservative 43.2%Gain from Independent
    6 MayCanford HeathBournemouth, Christchurch & PooleConservative 40.5%Gain from Liberal Democrats
    6 MayCommonsBournemouth, Christchurch & PooleChristchurch Independents 44.7%Gain from Independent
    6 MayHatfield Peverel & TerlingBraintreeConservative 61.4%Hold
    6 MayWitham SouthBraintreeConservative 51.5%Hold
    6 MayBrondesbury ParkBrentLabour 46.6%Hold
    6 MayNant-Y-MoelBridgendIndependent 54.8%Hold
    6 MayHollingdean and StanmerBrighton & HoveGreen 41.6%Gain from Labour
    6 MayPatchamBrighton & HoveConservative 41.5%Hold
    6 MayCrystal PalaceBromleyLabour 53.1%Hold
    6 MayBeeston RylandsBroxtoweLabour 44.6%Hold
    6 MayStapleford South WestBroxtoweLabour 47.7%Hold
    6 MaySwalecliffeCanterburyConservative 42.6%Hold
    6 MayWestgateCanterburyLabour 39.2%Gain from Liberal Democrats
    6 MayCathedral and CastleCarlisleLabour 39.2%Hold
    6 MayHarraby South and ParklandsCarlisleConservative 53.8%Gain from Labour
    6 MayNewtown and Morton NorthCarlisleConservative 49.3%Gain from Labour
    6 MayBoyceCastle PointIndependent 45.3%Gain from Conservative
    6 MaySt George'sCastle PointIndependent 46.2%Gain from Conservative
    6 MayMoulsham LodgeChelmsfordConservative 43.0%Gain from Liberal Democrats
    6 MayCrewe WestCheshire EastLabour 42.3%Hold
    6 MayFrodshamCheshire West & ChesterConservative 44.4%Hold
    6 MayNestonCheshire West & ChesterLabour 57.0%Hold
    6 MayWhitehaven CentralCopelandLabour 47.7%Hold
    6 MayFosseridgeCotswoldConservative 63.7%Hold
    6 MayBarden FellCravenIndependent 77.9%Hold
    6 MayPenyghentCravenConservative 49.6%Hold
    6 MayKenleyCroydonConservative 60.6%Hold
    6 MayNew Addington NorthCroydonLabour 48.6%Hold
    6 MayPark Hill & WhitgiftCroydonConservative 52.5%Hold
    6 MaySouth NorwoodCroydonLabour 49.9%Hold
    6 MayWoodsideCroydonLabour 48.3%Hold
    6 MayBramptonCumbriaConservative 56.2%Hold
    6 MayCockermouth NorthCumbriaConservative 41.3%Gain from Liberal Democrats
    6 MaySt John's and Great CliftonCumbriaConservative 36.8%Gain from Independent
    6 MayUlverston WestCumbriaGreen 39.6%Gain from Conservative
    6 MayLeverstock GreenDacorumConservative 60.5%Hold
    6 MayTring CentralDacorumLiberal Democrats 55.3%Hold
    6 MayHummersknottDarlingtonConservative 49.9%Hold
    6 MayRed Hall & LingfieldDarlingtonConservative 42.3%Gain from Labour
    6 MayDarenthDartfordConservative 49.9%Hold
    6 MayWilmington, Sutton-at-Hone & HawleyDartfordConservative 73.3%Hold
    6 MayMassonDerbyshire DalesConservative 41.3%Gain from Labour
    6 MayWirksworthDerbyshire DalesLabour 42.3%Hold
    6 MayMill HillDoverConservative 40.3%Gain from Labour
    6 MayEaling BroadwayEalingConservative 38.4%Hold
    6 MayHanger HillEalingConservative 35.9%Hold
    6 MayHobbayneEalingLabour 48.3%Hold
    6 MayWhimple & RockbeareEast DevonConservative 56.1%Not known
    6 MayBramshott & LiphookEast HampshireConservative 56.5%Hold
    6 MayGrayshottEast HampshireConservative 54.6%Hold
    6 MayBishop’s Stortford All SaintsEast HertfordshireLiberal Democrats 49.6%Hold
    6 MayCHAPEL ST. LEONARDSEast LindseyConservative 67.4%Hold
    6 MaySouth East HoldernessEast Riding Of YorkshireConservative 52.1%Hold
    6 MaySouth West HoldernessEast Riding Of YorkshireConservative 39.9%Hold
    6 MayEton ParkEast StaffordshireLabour 63.3%Hold
    6 MayBeccles & WorlinghamEast SuffolkGreen 48.9%Hold
    6 MayFramlinghamEast SuffolkConservative 44.8%Hold
    6 MayHampden ParkEastbourneLiberal Democrats 40.3%Hold
    6 MaySovereignEastbourneConservative 54.8%Hold
    6 MayHartsideEdenConservative 49.9%Hold
    6 MaySkeltonEdenConservative 54.4%Hold
    6 MayChaseEnfieldConservative 44.0%Gain from Labour
    6 MayJubileeEnfieldLabour 55.7%Hold
    6 MaySouthburyEnfieldLabour 46.6%Hold
    6 MayWaltham Abbey High BeachEpping ForestConservative 63.9%Hold
    6 MayHallam FieldsErewashConservative 54.1%Gain from Labour
    6 MayNottingham RoadErewashConservative 51.5%Gain from Labour
    6 MayLatterseyFenlandConservative 62.7%Hold
    6 MayGwernymynyddFlintshireIndependent 78.9%Hold
    6 MayBerry HillForest Of DeanIndependent 40.7%Hold
    6 MayCinderford EastForest Of DeanLabour 39.5%Hold
    6 MayWestcourtGraveshamConservative 49.4%Gain from Labour
    6 MayClaydonGreat YarmouthConservative 52.9%Gain from Labour
    6 MayORMESBYGreat YarmouthConservative 74.6%Hold
    6 MayGlyndonGreenwichLabour 59.4%Hold
    6 MayGreenwich WestGreenwichLabour 47.1%Hold
    6 MayKidbrooke with HornfairGreenwichLabour 42.3%Hold
    6 MayShooters HillGreenwichLabour 54.2%Hold
    6 MayFriary and St NicolasGuildfordLiberal Democrats 51.9%Hold
    6 MayPirbrightGuildfordConservative 71.5%Hold
    6 MaySendGuildfordNot recordedNot known
    6 MayHoxton East & ShoreditchHackneyLabour 54.0%Not known
    6 MayNewton FarmHerefordshireConservative 46.5%Gain from Independent
    6 MayBorehamwood KenilworthHertsmereLabour 52.4%Hold
    6 MayBushey NorthHertsmereLiberal Democrats 49.2%Hold
    6 MayCharvilleHillingdonConservative 49.6%Hold
    6 MayTrafalgarHorshamLiberal Democrats 65.4%Hold
    6 MayCranfordHounslowLabour 52.0%Hold
    6 MayHounslow HeathHounslowLabour 52.0%Hold
    6 MayHuntingdon NorthHuntingdonshireLabour 38.5%Hold
    6 MaySt Ives SouthHuntingdonshireConservative 43.0%Hold
    6 MaySt. Ives EastHuntingdonshireConservative 54.9%Hold
    6 MayWarboysHuntingdonshireConservative 62.7%Hold
    6 MayCaergybiIsle of AngleseyIndependent 36.5%Gain from Labour
    6 MaySeiriolIsle of AngleseyPlaid Cymru - The Party of Wales 42.0%Not known
    6 MayBunhillIslingtonLabour 48.4%Hold
    6 MayHighbury WestIslingtonLabour 42.4%Hold
    6 MayHollowayIslingtonLabour 58.1%Hold
    6 MayMildmayIslingtonLabour 55.7%Hold
    6 MaySt Peter'sIslingtonLabour 42.9%Hold
    6 MayChessington SouthKingston upon ThamesLiberal Democrats 37.9%Hold
    6 MayBulkLancasterGreen 54.3%Hold
    6 MayKelletLancasterConservative 50.9%Gain from Liberal Democrats
    6 MayNorth EvingtonLeicesterLabour 49.2%Hold
    6 MaySeaford EastLewesConservative 47.5%Hold
    6 MaySeaford WestLewesConservative 56.3%Hold
    6 MaySummerfield & All SaintsLichfieldConservative 57.3%Gain from Labour
    6 MayHigh TownLutonLabour 47.2%Hold
    6 MayRound GreenLutonLiberal Democrats 38.5%Hold
    6 MayHeybridge EastMaldonConservative 55.3%Hold
    6 MayTollesburyMaldonIndependent 65.4%Gain from Conservative
    6 MayOakhamMansfieldConservative 51.6%Hold
    6 MayWells St Thomas'MendipConservative 58.0%Not known
    6 MaySt HelierMertonLabour 54.4%Hold
    6 MayCastleMid DevonConservative 40.8%Gain from Liberal Democrats
    6 MayTawMid DevonConservative 64.1%Hold
    6 MayWestexeMid DevonConservative 44.2%Gain from Independent
    6 MayCOPTHORNE & WORTHMid SussexConservative 61.6%Gain from Independent
    6 MayBoughtonNewark And SherwoodConservative 61.2%Hold
    6 MayVictoriaNewportLabour 57.9%Hold
    6 MayEckington South & RenishawNorth East DerbyshireConservative 51.6%Gain from Labour
    6 MayKillamarsh EastNorth East DerbyshireConservative 56.4%Hold
    6 MayKillamarsh WestNorth East DerbyshireConservative 55.9%Hold
    6 MayRoyston MeridianNorth HertfordshireConservative 49.4%Hold
    6 MayRoyston PalaceNorth HertfordshireConservative 47.5%Hold
    6 MayBassingham and Brant BroughtonNorth KestevenConservative 45.3%Gain from Lincolnshire Independents Lincolnshire First
    6 MayAshbyNorth LincolnshireConservative 50.9%Gain from Labour
    6 MayBottesfordNorth LincolnshireConservative 73.3%Hold
    6 MayBroughton and ApplebyNorth LincolnshireConservative 67.6%Hold
    6 MayCoastalNorth NorfolkConservative 58.7%Gain from Liberal Democrats
    6 MayHoltNorth NorfolkConservative 39.2%Gain from Liberal Democrats
    6 MayPortishead EastNorth SomersetPortishead Independents 40.4%Hold
    6 MayAtherstone CentralNorth WarwickshireConservative 54.8%Gain from Labour
    6 MayCurdworthNorth WarwickshireConservative 81.5%Hold
    6 MayPolesworth EastNorth WarwickshireConservative 54.6%Gain from Labour
    6 MayIbstock EastNorth West LeicestershireConservative 57.8%Gain from Labour
    6 MayWorthington & BreedonNorth West LeicestershireConservative 69.7%Hold
    6 MayHarrogate Bilton and Nidd GorgeNorth YorkshireConservative 42.6%Gain from Liberal Democrats
    6 MayRibblesdaleNorth YorkshireConservative 54.2%Hold
    6 MayLoxfordRedbridgeLabour 69.6%Hold
    6 MaySeven KingsRedbridgeLabour 57.4%Hold
    6 MayGuisboroughRedcar & ClevelandConservative 50.2%Gain from Labour
    6 MayHuttonRedcar & ClevelandConservative 53.3%Hold
    6 MayLongbeckRedcar & ClevelandConservative 45.0%Hold
    6 MayBillington & LanghoRibble ValleyConservative 65.6%Hold
    6 MayMellorRibble ValleyConservative 66.5%Hold
    6 MayWest Bradford & GrindletonRibble ValleyConservative 71.4%Hold
    6 MayHampton WickRichmond upon ThamesLiberal Democrats 52.5%Hold
    6 MayStacksteadsRossendaleLabour 56.8%Not known
    6 MayEastern RotherRotherConservative 59.7%Hold
    6 MaySutton BoningtonRushcliffeConservative 66.2%Hold
    6 MayCamblesforth and CarltonSelbyConservative 66.4%Not known
    6 MayBrasted Chevening & SundridgeSevenoaksConservative 54.3%Hold
    6 MayTrull, Pitminster and CorfeSomerset West and TauntonLiberal Democrats 55.5%Hold
    6 MayGirtonSouth CambridgeshireLiberal Democrats 44.4%Gain from Conservative
    6 MayHarston & CombertonSouth CambridgeshireLiberal Democrats 43.6%Hold
    6 MayMelbournSouth CambridgeshireLiberal Democrats 41.8%Hold
    6 MayMilton & WaterbeachSouth CambridgeshireLiberal Democrats 34.3%Hold
    6 MayChurch GresleySouth DerbyshireConservative 61.4%Gain from Labour
    6 MayHiltonSouth DerbyshireConservative 59.3%Hold
    6 MaySealesSouth DerbyshireConservative 67.0%Hold
    6 MayFrenchay & DownendSouth GloucestershireConservative 37.8%Hold
    6 MayIvybridge WestSouth HamsConservative 50.4%Hold
    6 MayGlenSouth KestevenConservative 77.8%Hold
    6 MayBroughton and ConistonSouth LakelandLiberal Democrats 51.9%Hold
    6 MayFurness PeninsulaSouth LakelandConservative 45.7%Gain from Liberal Democrats
    6 MayGrangeSouth LakelandLiberal Democrats 60.2%Hold
    6 MayKendal RuralSouth LakelandLiberal Democrats 52.1%Hold
    6 MayDidcot North EastSouth OxfordshireConservative 40.7%Gain from Liberal Democrats
    6 MayForest Hill & HoltonSouth OxfordshireLiberal Democrats 64.3%Hold
    6 MayLongton & Hutton WestSouth RibbleConservative 67.2%Hold
    6 MaySt AmbroseSouth RibbleLabour 44.4%Hold
    6 MayStaines SouthSpelthorneConservative 36.6%Gain from Liberal Democrats
    6 MayCheadle North EastStaffordshire MoorlandsConservative 49.8%Gain from Independent
    6 MayCheadle South EastStaffordshire MoorlandsConservative 48.8%Gain from Independent
    6 MayForth and EndrickStirlingConservative 39.5%Gain from SNP
    6 MayBillingham WestStockton-on-TeesConservative 40.3%Gain from Independent
    6 MayBishopsgarth & Elm TreeStockton-on-TeesConservative 45.2%Gain from Liberal Democrats
    6 MayHartburnStockton-on-TeesConservative 73.2%Hold
    6 MayWestern ParishesStockton-on-TeesConservative 65.1%Hold
    6 MayYarmStockton-on-TeesConservative 65.1%Gain from Independent
    6 MayMoorcroftStoke On TrentConservative 49.7%Gain from Labour
    6 MayBagshotSurrey HeathConservative 54.1%Gain from Liberal Democrats
    6 MaySheernessSwaleConservative 41.5%Gain from Labour
    6 MayCastleSwanseaLabour 44.0%Hold
    6 MayLlansamletSwanseaLabour 49.4%Hold
    6 MayChiseldon & LawnSwindonConservative 55.0%Hold
    6 MayChaldonTandridgeConservative 62.2%Hold
    6 MayFELBRIDGETandridgeNot recordedHold
    6 MayDawley & AqueductTelford & WrekinLabour 50.9%Hold
    6 MayDonningtonTelford & WrekinConservative 54.0%Gain from Labour
    6 MayEastcliffTendringIndependent 46.9%Gain from HOSEM
    6 MayWest Clacton & Jaywick SandsTendringConservative 42.9%Gain from Independent
    6 MayAndover MillwayTest ValleyConservative 58.9%Hold
    6 MayAndover St Mary'sTest ValleyConservative 49.2%Hold
    6 MayChilworth, Nursling & RownhamsTest ValleyConservative 65.2%Hold
    6 MayCleeve HillTewkesburyConservative 46.1%Hold
    6 MayCentral HarbourThanetGreen 41.1%Gain from Labour
    6 MayDane ValleyThanetConservative 39.4%Gain from Thanet Independents
    6 MayNewingtonThanetConservative 37.2%Gain from Labour
    6 MayClifton with MaidenwayTorbayLiberal Democrats 45.8%Hold
    6 MayPaddock Wood WestTunbridge WellsConservative 38.6%Hold
    6 MayHartlepoolUK Parliament electionsConservative 53.3%Not known
    6 MayThe SampfordsUttlesfordConservative 44.4%Not known
    6 MayGrove NorthVale Of White HorseConservative 44.9%Gain from Liberal Democrats
    6 MayHatch LaneWaltham ForestConservative 50.9%Hold
    6 MayLeamington ClarendonWarwickLabour 39.5%Hold
    6 MayHailsham NorthWealdenLiberal Democrats 40.5%Gain from Conservative
    6 MayHailsham SouthWealdenConservative 45.2%Hold
    6 MayHeathfield NorthWealdenConservative 62.1%Hold
    6 MayHeathfield SouthWealdenConservative 60.0%Hold
    6 MayKELSEY WOLDWest LindseyConservative 62.6%Hold
    6 MayBampton & ClanfieldWest OxfordshireConservative 64.4%Hold
    6 MayAbbeygateWest SuffolkGreen 45.9%Hold
    6 MayClare, Hundon & KedingtonWest SuffolkConservative 72.2%Hold
    6 MayLakenheathWest SuffolkConservative 50.9%Gain from Independent
    6 MayMoreton HallWest SuffolkConservative 52.6%Gain from Independent
    6 MaySouthgateWest SuffolkConservative 58.2%Hold
    6 MayWhepstead & WickhambrookWest SuffolkConservative 69.8%Hold
    6 MayChurchillWestminsterLabour 45.6%Hold
    6 MayElmley Castle and SomervilleWychavonConservative 66.7%Hold
    10 JunGrove GreenWaltham ForestLabour 58.4%Hold
    10 JunLea BridgeWaltham ForestLabour 50.0%Hold
    17 JunEast GariochAberdeenshireConservativeGain from SNP
    17 JunAber ValleyCaerphillyPlaid Cymru - The Party of WalesNot known
    17 JunElham ValleyKentConservative 50.1%Hold
    17 JunUpper CulmMid DevonConservative 44.5%Gain from Liberal Democrats
    17 JunSewellNorfolkLabour 45.2%Hold
    17 JunSewellNorwichGreen 46.1%Gain from Labour
    17 JunOld Cleeve and DistrictSomerset West and TauntonLiberal Democrats 44.9%Hold
    17 JunFELBRIDGETandridgeIndependent 62.6%Gain from Conservative
    24 JunChichester EastChichesterLiberal Democrats 43.0%Hold
    24 JunHarlechGwyneddPlaid Cymru - The Party of Wales 51.1%Gain from Independent
    24 JunBryherIsles of ScillyIndependentHold
    24 JunMurdostounNorth LanarkshireIndependentGain from SNP
    24 JunWolvey & ShiltonRugbyConservative 76.6%Hold
    24 JunNorth Curry and RuishtonSomerset West and TauntonLiberal Democrats 49.6%Hold
    24 JunPriory ValeSwindonConservative 60.6%Hold
    1 JulWrittleChelmsfordConservative 50.0%Hold
    1 JulCobham & DownsideElmbridgeLiberal Democrats 49.8%Gain from Conservative
    1 JulBush Hill ParkEnfieldConservative 55.2%Hold
    1 JulTollingtonIslingtonLabour 56.6%Hold
    1 JulBridgeNewark And SherwoodConservative 34.1%Gain from Independent
    1 JulHeneageNorth East LincolnshireConservative 41.9%Hold
    1 JulPenkhull and StokeStoke On TrentConservative 40.6%Gain from City Independents
    8 JulFenitonEast DevonConservative 53.5%Not known
    8 JulHoniton St Michael'sEast DevonLabour 58.0%Gain from Liberal Democrats
    8 JulAldeburgh & LeistonEast SuffolkGreen 42.2%Gain from Conservative
    8 JulMark HallHarlowConservative 46.4%Hold
    8 JulSt Neots EastHuntingdonshireIndependent 42.5%Gain from Labour
    8 JulArdingly and BalcombeMid SussexGreen 36.9%Gain from Conservative
    15 JulTividaleSandwellConservative 52.6%Gain from Labour
    22 JulFortune GreenCamdenLiberal Democrats 46.7%Hold
    22 JulAlkham & Capel-le-FerneDoverConservative 48.7%Hold
    22 JulHumberstone & HamiltonLeicesterConservative 44.7%Gain from Labour
    22 JulCongresbury & PuxtonNorth SomersetGreen 64.5%Not known
    22 JulTyn-y-nantRhondda Cynon TafLabour 80.9%Hold
    22 JulStainesSpelthorneGreen 44.0%Gain from Conservative
    22 JulCliftonville EastThanetConservative 74.5%Hold
    22 JulLiscardWirralLabour 53.6%Hold
    29 JulPitsea North WestBasildonConservative 56.5%Gain from Labour
    29 JulEast Retford SouthBassetlawConservative 40.1%Gain from Labour
    29 JulKnaresborough Scriven ParkHarrogateLiberal Democrats 56.6%Gain from Conservative
    29 JulGaywood SouthNorfolkLiberal Democrats 35.7%Gain from Conservative
    29 JulFellgate and HedworthSouth TynesideLabour 49.1%Hold
    5 AugEast Livingston and East CalderWest LothianSNPHold
    12 AugOrwell & VillagesEast SuffolkConservative 45.9%Hold
    12 AugInverness WestHighlandLiberal DemocratsGain from SNP
    12 AugWick and East CaithnessHighlandLiberal DemocratsGain from SNP
    12 AugDalry and West KilbrideNorth AyrshireConservativeGain from SNP
    12 AugGrangeSouth LakelandLiberal Democrats 66.2%Hold
    12 AugWeaversTower HamletsAspire 46.5%Not known
    19 AugMid FormartineAberdeenshireConservativeGain from SNP
    19 AugDowns NorthAshfordGreen 51.8%Gain from Conservative
    19 AugSandwichDoverConservative 51.6%Hold
    19 AugEast Wolds & CoastalEast Riding Of YorkshireConservative 54.0%Hold
    19 AugWiltshire PolicePolice and Crime Commissioner for WiltshireConservativeHold
    19 AugLittlemoorRibble ValleyLiberal Democrats 49.0%Hold
    19 AugPrimroseRibble ValleyLiberal Democrats 43.9%Hold
    19 AugOakham SouthRutlandLiberal Democrats 67.8%Hold
    26 AugCorby and HaytonCumbriaLiberal Democrats 71.0%Not known
    26 AugPrinces ParkMedwayConservative 67.4%Hold
    26 AugStrood NorthMedwayLabour 37.1%Hold
    26 AugGraigNewportConservative 50.2%Hold
    2 SeptParkCalderdaleLabour 82.9%Hold
    2 SeptRyburnCalderdaleConservative 53.6%Hold
    2 SeptWilmslow Dean RowCheshire EastResidents of Wilmslow 50.7%Hold
    9 SeptCastleNewcastle Upon TyneLiberal Democrats 42.5%Hold
    9 SeptBarlow & HolmesfieldNorth East DerbyshireConservative 69.0%Hold
    9 SeptKillamarsh EastNorth East DerbyshireLabour 49.9%Gain from Conservative
    9 SeptCamperdownNorth TynesideLabour 66.7%Hold
    9 SeptSealesSouth DerbyshireIndependent 39.7%Gain from Conservative
    9 SeptCleadon and East BoldonSouth TynesideConservative 35.1%Hold
    16 SeptHobbayneEalingLabour 52.2%Hold
    16 SeptTenburyMalvern HillsIndependent 55.9%Gain from Conservative
    16 SeptLadgateMiddlesbroughIndependent 39.5%Gain from Labour
    16 SeptFirth ParkSheffieldLabour 40.2%Hold
    23 SeptShepshed WestCharnwoodConservative 43.6%Hold
    23 SeptSoham NorthEast CambridgeshireConservative 50.8%Gain from Liberal Democrats
    23 SeptExe ValleyEast DevonLiberal Democrats 36.9%Hold
    23 SeptCuddingtonEpsom And EwellResidents' Association of Cuddington 52.0%Hold
    23 SeptWormholt and White CityHammersmith and FulhamLabour 70.0%Hold
    23 SeptKendal NorthSouth LakelandLiberal Democrats 46.9%Hold
    28 SeptBrundallBroadlandGreen 35.8%Gain from Conservative
    28 SeptOld Catton and Sprowston WestBroadlandConservative 50.0%Hold
    30 SeptHorndean DownsEast HampshireGreen 49.2%Gain from Conservative
    30 SeptTutbury and OutwoodsEast StaffordshireConservative 44.4%Hold
    30 SeptPenrith WestEdenLiberal Democrats 43.5%Hold
    30 SeptHettonSunderlandLabour 32.6%Hold
    30 SeptPriorySwaleLiberal Democrats 38.0%Hold
    30 SeptThe RowsWest SuffolkConservative 65.2%Not known
    7 OctPenyfforddFlintshireLabour 60.4%Hold
    7 OctSherwoodNottinghamLabour 47.8%Hold
    7 OctSt Ann'sNottinghamLabour 65.5%Hold
    7 OctMustersRushcliffeLiberal Democrats 45.3%Hold
    7 OctComeytrowe and TrullSomersetLiberal Democrats 63.2%Hold
    7 OctWilton and SherfordSomerset West and TauntonLiberal Democrats 56.9%Hold
    7 OctCranleigh EastWaverleyLiberal Democrats 56.8%Hold
    14 OctFalkirk SouthFalkirkSNPHold
    14 OctPinner SouthHarrowConservative 60.5%Hold
    14 OctFrimley GreenSurrey HeathConservative 48.5%Gain from Liberal Democrats
    14 OctLeigh WestWiganLabour 55.9%Hold
    21 OctYardley EastBirminghamLiberal Democrats 65.3%Hold
    21 OctForestHorshamLiberal Democrats 47.4%Hold
    21 OctRainworth South and BlidworthNewark And SherwoodIndependent 66.2%Gain from Labour
    28 OctBromley CrossBoltonConservative 70.0%Hold
    28 OctCurrock and UpperbyCarlisleLabour 57.5%Hold
    28 OctSouthLutonLabour 44.1%Hold
    28 OctGrantham ArnoldfieldSouth KestevenConservative 65.0%Hold
    28 OctStamford All SaintsSouth KestevenIndependent 69.9%Gain from Conservative
    28 OctKinverSouth StaffordshireConservative 74.1%Hold
    28 OctWombourne South EastSouth StaffordshireConservative 50.3%Hold
    28 OctGresford East & WestWrexhamConservative 42.7%Not known
    4 NovLonglevensGloucesterLiberal Democrats 60.3%Hold
    4 NovHuntingdon EastHuntingdonshireLiberal Democrats 55.3%Not known
    4 NovOakham North WestRutlandLabour 62.6%Gain from Conservative
    4 NovBlackfriars and TrinitySalfordLabour 51.8%Hold
    4 NovNORTH MEOLSWest LancashireConservative 64.9%Hold
    4 NovBourneWest SussexLiberal Democrats 51.9%Gain from Conservative
    11 NovHeathCardiffLabour 47.1%Hold
    11 NovLlandrilloDenbighshirePlaid Cymru - The Party of Wales 44.0%Not known
    11 NovUniversity and Scotforth RuralLancasterLabour 46.1%Hold
    11 NovMelton DorianMeltonConservative 56.0%Hold
    11 NovMetheringhamNorth KestevenLincolnshire Independents Lincolnshire First 45.0%Hold
    11 NovSleaford CastleNorth KestevenConservative 45.3%Not known
    11 NovThanet VillagesThanetGreen 60.0%Hold
    18 NovGorrellCanterburyGreen 43.9%Gain from Labour
    18 NovAnfieldLiverpoolLabour 55.9%Hold
    18 NovClubmoorLiverpoolLabour 54.5%Hold
    18 NovKirkdaleLiverpoolLabour 61.7%Hold
    18 NovChorltonManchesterLabour 52.1%Hold
    18 NovCroptonRyedaleThe Liberal Party 39.6%Hold
    18 NovBamber Bridge EastSouth RibbleLabour 53.7%Hold
    18 NovBrockworth EastTewkesburyIndependent 68.3%Hold
    18 NovBere FerrersWest DevonConservative 32.5%Gain from Liberal Democrats
    25 NovMaryport SouthAllerdaleLabour 52.9%Not known
    25 NovLee Chapel NorthBasildonLabour 39.8%Hold
    25 NovHalton CastleHaltonLabour 60.3%Hold
    25 NovRaskelf and White HorseHambletonConservative 55.7%Hold
    25 NovCarnforth & MillheadLancasterLabour 57.7%Hold
    25 NovKnuttonNewcastle-under-LymeConservative 51.1%Gain from Labour
    25 NovBar PoolNuneaton and BedworthConservative 55.3%Hold
    25 NovNorth Yorkshire PolicePolice, Fire and Crime Commissioner for North Yorkshire by-electionConservativeNot known
    25 NovSpeldhurst & BidboroughTunbridge WellsTunbridge Wells Alliance 49.8%Gain from Conservative
    25 NovBedfordWandsworthLabour 40.2%Hold
    25 NovHorringerWest SuffolkConservative 47.7%Hold
    25 NovBrynWiganLabour 42.0%Gain from Independent
    25 NovOxtonWirralLiberal Democrats 68.3%Hold
    30 NovFranche & Habberley NorthWyre ForestConservative 41.0%Not known
    2 DecHillsideAdurConservative 56.2%Hold
    2 DecHermitageBrecklandConservative 45.0%Hold
    2 DecFort William and ArdnamurchanHighlandSNPHold
    2 DecBareLancasterLiberal Democrats 33.1%Gain from Morecambe Bay Independents
    2 DecUpper Lune ValleyLancasterLiberal Democrats 63.1%Gain from Conservative
    2 DecVictoriaNewportLabour 64.6%Hold
    2 DecStalhamNorth NorfolkConservative 55.2%Gain from Liberal Democrats
    2 DecWhitnashWarwickWhitnash Residents Association 55.2%Not known
    2 DecHartfieldWealdenGreen 55.8%Gain from Conservative
    2 DecMarineWorthingLabour 50.2%Hold
    9 DecOld BracknellBracknell ForestLabour 61.1%Gain from Conservative
    9 DecAnston and WoodsettsRotherhamLiberal Democrats 40.4%Gain from Conservative
    9 DecAughton and SwallownestRotherhamLabour 49.8%Hold
    9 DecCastleTonbridge And MallingGreen 59.3%Gain from Conservative
    9 DecKings HillTonbridge And MallingConservative 59.3%Hold
    9 DecWest Malling and LeybourneTonbridge And MallingLiberal Democrats 49.5%Hold
    9 DecNorthamTorridgeConservative 38.7%Hold
    14 DecPaisley SoutheastRenfrewshireNot recordedHold
    16 DecLomond NorthArgyll and ButeConservativeGain from SNP
    16 DecHighfieldAshfordGreen 40.0%Gain from Conservative
    16 DecCaerauBridgendIndependent 48.8%Gain from Labour
    16 DecRoffey SouthHorshamLiberal Democrats 41.5%Hold
    16 DecArmitage with HandsacreLichfieldConservative 60.3%Hold
    16 DecRochester EastMedwayLabour 63.3%Hold
    16 DecNorth OrmesbyMiddlesbroughLabour 74.5%Gain from Independent
    16 DecHexham EastNorthumberlandLiberal Democrats 47.3%Gain from Independent
    16 DecDawley & AqueductTelford & WrekinLabour 55.8%Hold
    16 DecPleckWalsallLabour 64.6%Hold
    16 DecTilehurst South & HolybrookWest BerkshireConservative 42.4%Hold
    16 DecNettlehamWest LindseyLiberal Democrats 51.0%Hold
    23 DecBransgore and BurleyNew ForestIndependent 44.3%Gain from Conservative