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
| Party | Gained | Lost | Net |
|---|---|---|---|
| Conservative | 48 | 19 | ▲ +29 |
| Reform UK | 8 | 0 | ▲ +8 |
| Green | 7 | 2 | ▲ +5 |
| Liberal Democrats | 16 | 14 | ▲ +2 |
| Plaid Cymru - The Party of Wales | 2 | 0 | ▲ +2 |
| Scottish Green Party | 1 | 0 | ▲ +1 |
| Independent | 10 | 12 | ▼ -2 |
| Swanscombe and Greenhithe Residents' Association | 0 | 2 | ▼ -2 |
| Labour | 29 | 40 | ▼ -11 |
| SNP | 0 | 32 | ▼ -32 |
Every by-election
| Date | Ward | Winner | Previously |
|---|---|---|---|
| 11 Jan | South PortsladeBrighton & Hove | Labour 54.6% | Hold |
| 11 Jan | Littlemoor and PrestonDorset | Conservative 53.7% | Hold |
| 11 Jan | QuaysSalford | Liberal Democrats 38.0% | Gain from Labour |
| 11 Jan | BluehouseTendring | Independent 38.6% | Gain from Labour |
| 18 Jan | CazenoveHackney | Conservative 53.8% | Gain from Labour |
| 18 Jan | Hampton NorthRichmond upon Thames | Liberal Democrats 53.2% | Hold |
| 18 Jan | TeddingtonRichmond upon Thames | Liberal Democrats 64.3% | Hold |
| 18 Jan | StanningtonSheffield | Liberal Democrats 52.7% | Hold |
| 18 Jan | Tooting BroadwayWandsworth | Labour 67.3% | Hold |
| 18 Jan | Warwick All Saints & WoodloesWarwick | Labour 52.5% | Hold |
| 25 Jan | Dunblane and Bridge of AllanStirling | Conservative 52.6% | Gain from SNP |
| 1 Feb | CandlewickCity Of London | Independent | Not known |
| 1 Feb | CheapCity Of London | Independent | Not known |
| 8 Feb | Ebbw Vale SouthBlaenau Gwent | Independent 60.4% | Gain from Labour |
| 8 Feb | Crewe CentralCheshire East | Conservative 43.3% | Gain from Labour |
| 8 Feb | CricciethGwynedd | Plaid Cymru - The Party of Wales 71.9% | Gain from Independent |
| 8 Feb | East Hunsbury And ShelfleysWest Northamptonshire | Liberal Democrats 38.8% | Gain from Conservative |
| 15 Feb | Tring West & RuralDacorum | Liberal Democrats 62.7% | Hold |
| 15 Feb | Four Marks & MedsteadEast Hampshire | Liberal Democrats 62.2% | Hold |
| 15 Feb | AvenueKingston Upon Hull | Liberal Democrats 45.7% | Gain from Labour |
| 15 Feb | Briton Ferry EastNeath Port Talbot | Labour 52.4% | Gain from Independent |
| 15 Feb | RhosNeath Port Talbot | Independent 52.1% | Not known |
| 22 Feb | Farnham Common And Burnham BeechesBuckinghamshire | Conservative 51.8% | Hold |
| 22 Feb | HazlemereBuckinghamshire | Conservative 36.5% | Gain from Independent |
| 22 Feb | BakewellDerbyshire Dales | Labour 37.7% | Gain from Conservative |
| 22 Feb | NorburyDerbyshire Dales | Conservative 63.1% | Hold |
| 22 Feb | Romney MarshFolkestone And Hythe | Conservative 26.7% | Gain from Labour |
| 22 Feb | Loughton and ShenleyMilton Keynes | Labour 46.2% | Hold |
| 22 Feb | Jedburgh and DistrictScottish Borders | Conservative 58.6% | Gain from SNP |
| 22 Feb | Calne Chilvester And AbberdWiltshire | Liberal Democrats 45.3% | Gain from Conservative |
| 29 Feb | Minster & WoodmanseyEast Riding Of Yorkshire | Liberal Democrats 50.7% | Hold |
| 29 Feb | TranbyEast Riding Of Yorkshire | Liberal Democrats 55.3% | Hold |
| 29 Feb | Central & NorthgateGreat Yarmouth | Labour 52.6% | Hold |
| 29 Feb | HenfieldHorsham | Green 44.2% | Gain from Conservative |
| 29 Feb | Southwater NorthHorsham | Conservative 49.0% | Gain from Liberal Democrats |
| 6 Mar | ElliCarmarthenshire | Independent 35.2% | Hold |
| 7 Mar | ABERKENFIGBridgend | Labour 55.2% | Not known |
| 7 Mar | Mayor of LewishamEngland | Labour 51.8% | Hold |
| 7 Mar | HillheadGlasgow | Scottish Green Party 31.5% | Gain from SNP |
| 7 Mar | Upper Yeo & TawMid Devon | Liberal Democrats 52.2% | Hold |
| 14 Mar | CastleLancaster | Green 65.0% | Hold |
| 14 Mar | Cricklade And LattonWiltshire | Liberal Democrats 76.0% | Hold |
| 21 Mar | Yaxley and FarcetCambridgeshire | Liberal Democrats 31.0% | Gain from Conservative |
| 21 Mar | Brynford & HalkynFlintshire | Labour 38.2% | Hold |
| 21 Mar | WhitefieldKnowsley | Independent 54.1% | Gain from Labour |
| 21 Mar | Heckington RuralNorth Kesteven | Conservative 33.7% | Hold |
| 21 Mar | TowerSuffolk | Independent | Not known |
| 28 Mar | Neath EastNeath Port Talbot | Labour 50.3% | Hold |
| 28 Mar | Stromness and South IslesOrkney Islands | Independent 100.0% | Not known |
| 28 Mar | SomertonSomerset | Liberal Democrats 50.1% | Hold |
| 4 Apr | Looe West, Pelynt, Lansallos And LanteglosCornwall | Liberal Democrats 44.8% | Hold |
| 4 Apr | DesboroughNorth Northamptonshire | Conservative 47.3% | Hold |
| 4 Apr | Uckfield New TownWealden | Independent 37.0% | Gain from Labour |
| 11 Apr | Inverness SouthHighland | Independent 22.1% | Gain from SNP |
| 11 Apr | Stray, Woodlands and HookstoneNorth Yorkshire | Liberal Democrats 43.9% | Hold |
| 16 Apr | St Ishmael'sPembrokeshire | Conservative 55.1% | Gain from Independent |
| 18 Apr | Ely WestEast Cambridgeshire | Liberal Democrats 47.9% | Hold |
| 18 Apr | Farnham CastleWaverley | Farnham Residents 32.5% | Hold |
| 25 Apr | Arbroath West, Letham and FriockheimAngus | Conservative 42.0% | Gain from SNP |
| 25 Apr | GrangetownCardiff | Labour 48.2% | Hold |
| 2 May | Crich & South WingfieldAmber Valley | Conservative 35.9% | Gain from Liberal Democrats |
| 2 May | RiverfieldBedford | Liberal Democrats 57.3% | Hold |
| 2 May | Bournbrook & Selly ParkBirmingham | Labour 39.0% | Hold |
| 2 May | Canford CliffsBournemouth, Christchurch & Poole | Conservative 62.0% | Hold |
| 2 May | HermitageBreckland | Conservative 40.5% | Gain from Liberal Democrats |
| 2 May | KemptownBrighton & Hove | Labour 45.9% | Hold |
| 2 May | Queen's ParkBrighton & Hove | Labour 46.1% | Hold |
| 2 May | Shortlands & Park LangleyBromley | Conservative 42.4% | Hold |
| 2 May | Attenborough & Chilwell EastBroxtowe | Labour 46.0% | Hold |
| 2 May | FrognalCamden | Conservative 49.8% | Hold |
| 2 May | Loughborough EastCharnwood | Labour 62.1% | Hold |
| 2 May | WolverhamCheshire West & Chester | Labour 70.2% | Hold |
| 2 May | HordenCounty Durham | Labour 76.2% | Hold |
| 2 May | Park Hill & WhitgiftCroydon | Conservative 42.9% | Hold |
| 2 May | WoodsideCroydon | Labour 49.3% | Hold |
| 2 May | Exmouth BrixingtonEast Devon | Conservative 37.2% | Hold |
| 2 May | Harlow South EastEssex | Conservative 48.6% | Hold |
| 2 May | Hoxton East & ShoreditchHackney | Labour 59.2% | Hold |
| 2 May | Fareham SarisburyHampshire | Conservative 46.7% | Hold |
| 2 May | Hillingdon EastHillingdon | Conservative 58.1% | Hold |
| 2 May | Brentford WestHounslow | Labour 36.6% | Hold |
| 2 May | Great PaxtonHuntingdonshire | Liberal Democrats 47.8% | Gain from Conservative |
| 2 May | HillriseIslington | Labour 83.0% | Hold |
| 2 May | NorlandKensington and Chelsea | Conservative 51.0% | Hold |
| 2 May | Knight's HillLambeth | Labour 56.0% | Hold |
| 2 May | Streatham Common & ValeLambeth | Labour 72.0% | Hold |
| 2 May | Carnforth & MillheadLancaster | Labour 47.3% | Hold |
| 2 May | BurbageLeicestershire | Liberal Democrats 51.3% | Gain from Conservative |
| 2 May | ParkLincolnshire | Labour 45.2% | Hold |
| 2 May | ChiltonMid Suffolk | Green 47.2% | Hold |
| 2 May | Snibston SouthNorth West Leicestershire | Labour 51.3% | Hold |
| 2 May | Mendip SouthSomerset | Liberal Democrats 47.3% | Hold |
| 2 May | MelbourneSouth Derbyshire | Conservative 45.4% | Gain from Labour |
| 2 May | New CheltenhamSouth Gloucestershire | Labour 48.2% | Hold |
| 2 May | BunwellSouth Norfolk | Green 40.5% | Gain from Conservative |
| 2 May | Meir NorthStoke On Trent | Labour 53.9% | Hold |
| 2 May | St Helier WestSutton | Conservative 36.0% | Gain from Labour |
| 2 May | Ashburton & BuckfastleighTeignbridge | Liberal Democrats 30.6% | Hold |
| 2 May | Bideford NorthTorridge | Liberal Democrats 29.7% | Hold |
| 2 May | West PutneyWandsworth | Conservative 45.3% | Gain from Labour |
| 2 May | Leamington ClarendonWarwick | Labour 51.7% | Hold |
| 2 May | Milford & WitleyWaverley | Liberal Democrats 44.6% | Hold |
| 2 May | Tavistock NorthWest Devon | Liberal Democrats 28.1% | Hold |
| 2 May | Grange and CartmelWestmorland and Furness | Liberal Democrats 77.2% | Hold |
| 2 May | Evesham North WestWorcestershire | Conservative 36.5% | Hold |
| 9 May | KilwinningNorth Ayrshire | Labour 54.3% | Gain from SNP |
| 23 May | WymondhamMelton | Conservative 65.6% | Hold |
| 30 May | KingstandingBirmingham | Conservative 49.7% | Gain from Labour |
| 4 Jun | RHIWCYNONPowys | Conservative 40.1% | Gain from Independent |
| 6 Jun | Axholme NorthNorth Lincolnshire | Conservative 66.9% | Hold |
| 6 Jun | BrumbyNorth Lincolnshire | Labour 61.5% | Hold |
| 6 Jun | The NedgeTelford & Wrekin | Labour 54.4% | Hold |
| 6 Jun | WellswoodTorbay | Conservative 42.3% | Hold |
| 13 Jun | Mottingham, Coldharbour & New ElthamGreenwich | Conservative 47.1% | Gain from Labour |
| 13 Jun | Tain and Easter RossHighland | Independent 37.4% | Gain from SNP |
| 13 Jun | Clydebank CentralWest Dunbartonshire | Labour 49.6% | Gain from SNP |
| 20 Jun | RadfordCoventry | Labour 58.0% | Hold |
| 20 Jun | West BankMansfield | Labour 38.4% | Gain from Conservative |
| 20 Jun | Tiverton WestexeMid Devon | Liberal Democrats 45.4% | Hold |
| 20 Jun | Sutton Courtenay and MarchamOxfordshire | Liberal Democrats 36.6% | Hold |
| 20 Jun | St OswaldSefton | Labour 73.3% | Hold |
| 20 Jun | Sutton CourtenayVale Of White Horse | Liberal Democrats 83.3% | Hold |
| 27 Jun | Harraby NorthCumberland | Labour 60.5% | Hold |
| 27 Jun | Hoxton WestHackney | Labour 64.0% | Hold |
| 27 Jun | PrimroseSouth Tyneside | Independent 54.2% | Hold |
| 4 Jul | Barnet ValeBarnet | Labour 41.1% | Hold |
| 4 Jul | RamptonBassetlaw | Conservative 59.2% | Hold |
| 4 Jul | WybostonBedford | Conservative 58.0% | Hold |
| 4 Jul | King's Norton NorthBirmingham | Labour 40.5% | Hold |
| 4 Jul | NorthfieldBirmingham | Labour 40.5% | Hold |
| 4 Jul | Queens ParkBrent | Labour 43.6% | Hold |
| 4 Jul | Brunswick & AdelaideBrighton & Hove | Green 42.7% | Gain from Labour |
| 4 Jul | HorfieldBristol, City of | Labour 54.6% | Hold |
| 4 Jul | Northwich LeftwichCheshire West & Chester | Labour 48.4% | Hold |
| 4 Jul | SpireChesterfield | Labour 45.1% | Hold |
| 4 Jul | Staveley NorthChesterfield | Labour 34.4% | Gain from Liberal Democrats |
| 4 Jul | CripplegateCity Of London | Independent | Not known |
| 4 Jul | Farringdon WithinCity Of London | Independent 100.0% | Not known |
| 4 Jul | CoxhoeCounty Durham | Labour 52.1% | Hold |
| 4 Jul | MaidenbowerCrawley | Conservative 57.2% | Hold |
| 4 Jul | TownDoncaster | Labour 49.8% | Hold |
| 4 Jul | East Wolds & CoastalEast Riding Of Yorkshire | Conservative 41.6% | Hold |
| 4 Jul | South East HoldernessEast Riding Of Yorkshire | Reform UK 34.8% | Gain from Labour |
| 4 Jul | Carlton ColvilleEast Suffolk | Conservative 34.9% | Hold |
| 4 Jul | Cobham & DownsideElmbridge | Conservative 53.0% | Hold |
| 4 Jul | Basildon PitseaEssex | Labour 43.9% | Hold |
| 4 Jul | Whittlesey SouthFenland | Conservative 47.0% | Gain from Independent |
| 4 Jul | Grange and Alver ValleyGosport | Labour 40.8% | Gain from Conservative |
| 4 Jul | CazenoveHackney | Labour 43.9% | Hold |
| 4 Jul | HornseyHaringey | Labour 51.8% | Hold |
| 4 Jul | Hanworth VillageHounslow | Labour 40.0% | Hold |
| 4 Jul | Hook & Chessington NorthKingston upon Thames | Liberal Democrats 47.7% | Hold |
| 4 Jul | Streatham Common & ValeLambeth | Labour 54.9% | Hold |
| 4 Jul | UniversityLancaster | Green 45.1% | Gain from Labour |
| 4 Jul | BlackheathLewisham | Labour 43.8% | Hold |
| 4 Jul | BroadgreenLiverpool | Labour 55.9% | Hold |
| 4 Jul | Clubmoor EastLiverpool | Labour 79.0% | Hold |
| 4 Jul | Fazakerley NorthLiverpool | Labour 71.4% | Hold |
| 4 Jul | Figge's MarshMerton | Labour 66.1% | Hold |
| 4 Jul | St HelierMerton | Labour 47.9% | Hold |
| 4 Jul | AcklamMiddlesbrough | Labour 38.9% | Gain from Liberal Democrats |
| 4 Jul | CentralMiddlesbrough | Labour 60.5% | Hold |
| 4 Jul | Na HearadhNa h-Eileanan an Iar | Independent 94.3% | Hold |
| 4 Jul | Madeley & BetleyNewcastle-under-Lyme | Conservative 37.7% | Hold |
| 4 Jul | Forest Gate North [merged 3fa3dc44]Newham | Labour 43.0% | Not known |
| 4 Jul | Maryland [merged 9918fb2a]Newham | Labour 43.0% | Not known |
| 4 Jul | North Walsham EastNorth Norfolk | Liberal Democrats 45.7% | Hold |
| 4 Jul | Lea and LarchesPreston | Liberal Democrats 40.9% | Hold |
| 4 Jul | St Mary'sRibble Valley | Labour 32.8% | Gain from Liberal Democrats |
| 4 Jul | LinacreSefton | Labour 81.2% | Hold |
| 4 Jul | HattonSouth Derbyshire | Conservative 43.5% | Gain from Labour |
| 4 Jul | KingswoodSouth Gloucestershire | Labour 55.1% | Hold |
| 4 Jul | KursaalSouthend-On-Sea | Labour 68.4% | Hold |
| 4 Jul | FaradaySouthwark | Labour 58.4% | Hold |
| 4 Jul | Rye LaneSouthwark | Labour 53.5% | Hold |
| 4 Jul | Ashford EastSpelthorne | Conservative 27.4% | Gain from Independent |
| 4 Jul | WindleSt. Helens | Labour 53.4% | Hold |
| 4 Jul | PakefieldSuffolk | Labour 40.0% | Gain from Conservative |
| 4 Jul | Rickmansworth TownThree Rivers | Conservative 55.4% | Hold |
| 4 Jul | JuddTonbridge And Malling | Green 63.6% | Hold |
| 4 Jul | Abbey RoadWestminster | Conservative 43.9% | Hold |
| 4 Jul | Leigh SouthWigan | Labour 52.1% | Hold |
| 4 Jul | St MichaelWinchester | Liberal Democrats 64.5% | Hold |
| 4 Jul | LiscardWirral | Labour 59.6% | Hold |
| 4 Jul | Hull RoadYork | Labour 38.5% | Hold |
| 18 Jul | Kintyre and the IslandsArgyll and Bute | SNP 43.4% | Hold |
| 18 Jul | Beckton [merged 73b230e0]Newham | Labour 38.7% | Not known |
| 18 Jul | Little Ilford [merged e93c535c]Newham | Labour 39.0% | Not known |
| 18 Jul | MarstonOxford | Not recorded | Hold |
| 15 Aug | Aberbargoed & BargoedCaerphilly | Labour 46.2% | Hold |
| 15 Aug | HillriseIslington | Labour 32.8% | Hold |
| 15 Aug | Dunblane and Bridge of AllanStirling | Labour 23.3% | Gain from SNP |
| 22 Aug | Cramlington EastfieldNorthumberland | Conservative 43.7% | Hold |
| 22 Aug | Abbots Langley and BedmondThree Rivers | Conservative 40.5% | Gain from Liberal Democrats |
| 22 Aug | Armadale and BlackridgeWest Lothian | Labour 28.9% | Gain from SNP |
| 29 Aug | BedwellHertfordshire | Labour 46.9% | Hold |
| 29 Aug | Badsey & AldingtonWychavon | Conservative 32.7% | Hold |
| 29 Aug | Harvington & NortonWychavon | Independent 42.6% | Gain from Conservative |
| 3 Sept | PriorySwale | Liberal Democrats 42.5% | Hold |
| 5 Sept | Camden SquareCamden | Labour 51.7% | Hold |
| 5 Sept | Kentish Town SouthCamden | Labour 46.8% | Hold |
| 5 Sept | KilburnCamden | Labour 51.5% | Hold |
| 5 Sept | Crewe WestCheshire East | Labour 43.4% | Hold |
| 5 Sept | BaguleyManchester | Labour 46.9% | Hold |
| 5 Sept | Bedlinog & TrelewisMerthyr Tydfil | Labour 49.4% | Gain from Independent |
| 5 Sept | LongbeckRedcar & Cleveland | Conservative 44.8% | Gain from Labour |
| 12 Sept | RomseyCambridge | Labour 39.2% | Hold |
| 12 Sept | BridgesGateshead | Labour 23.3% | Hold |
| 12 Sept | London FieldsHackney | Labour 54.1% | Hold |
| 12 Sept | Stoke NewingtonHackney | Green 53.0% | Gain from Labour |
| 12 Sept | Bletchley EastMilton Keynes | Labour 44.4% | Hold |
| 12 Sept | North JesmondNewcastle Upon Tyne | Liberal Democrats 52.6% | Hold |
| 12 Sept | Freebridge LynnNorfolk | Independent 53.8% | Gain from Conservative |
| 12 Sept | ArranNorth Ayrshire | Labour 45.4% | Gain from Conservative |
| 12 Sept | North Walsham Market CrossNorth Norfolk | Liberal Democrats 46.5% | Hold |
| 12 Sept | Bow EastTower Hamlets | Labour 53.3% | Hold |
| 16 Sept | Bestwood St AlbansGedling | Conservative 47.8% | Gain from Labour |
| 19 Sept | SidemoorBromsgrove | Liberal Democrats 52.6% | Gain from Labour |
| 19 Sept | Falmouth PenwerrisCornwall | Labour 44.7% | Hold |
| 19 Sept | Burn ValleyHartlepool | Labour 47.5% | Hold |
| 19 Sept | St Neots The EatonsHuntingdonshire | Independent 35.4% | Gain from Conservative |
| 19 Sept | FairfieldStockton-on-Tees | Conservative 54.2% | Hold |
| 19 Sept | Harrow RoadWestminster | Labour 44.2% | Hold |
| 19 Sept | West EndWestminster | Conservative 48.8% | Gain from Labour |
| 19 Sept | MarineWorthing | Conservative 40.7% | Gain from Labour |
| 24 Sept | ThurstonMid Suffolk | Conservative 49.2% | Gain from Green |
| 24 Sept | Godalming Binscombe & CharterhouseWaverley | Conservative 40.6% | Gain from Liberal Democrats |
| 26 Sept | Rhyl TrellewelynDenbighshire | Conservative 50.8% | Gain from Labour |
| 26 Sept | StrettonEast Staffordshire | Conservative 70.8% | Gain from Labour |
| 26 Sept | CredenhillHerefordshire | Independent 45.3% | Gain from Liberal Democrats |
| 26 Sept | Cromarty FirthHighland | Liberal Democrats 32.4% | Gain from SNP |
| 26 Sept | Inverness CentralHighland | Labour 27.9% | Gain from SNP |
| 26 Sept | BarnfieldLuton | Liberal Democrats 63.5% | Hold |
| 26 Sept | WigmoreLuton | Liberal Democrats 54.6% | Hold |
| 26 Sept | Perth City NorthPerth and Kinross | SNP 44.7% | Hold |
| 26 Sept | StrathallanPerth and Kinross | Liberal Democrats 30.0% | Gain from SNP |
| 3 Oct | MartonBlackpool | Reform UK 38.8% | Gain from Labour |
| 3 Oct | LocheeDundee | SNP 37.3% | Hold |
| 3 Oct | StrathmartineDundee | SNP 35.0% | Hold |
| 3 Oct | Scotforth EastLancaster | Green 57.8% | Gain from Labour |
| 9 Oct | MachynllethPowys | Plaid Cymru - The Party of Wales 35.9% | Gain from Independent |
| 10 Oct | St. MichaelsCoventry | Labour 41.9% | Hold |
| 10 Oct | Hanger HillEaling | Liberal Democrats 52.3% | Hold |
| 10 Oct | Northolt MandevilleEaling | Labour 44.7% | Hold |
| 10 Oct | South ActonEaling | Labour 48.5% | Hold |
| 10 Oct | Hersham VillageElmbridge | Conservative 55.4% | Gain from Liberal Democrats |
| 10 Oct | Weybridge St George's HillElmbridge | Not recorded | Hold |
| 10 Oct | WartonFylde | Conservative 51.2% | Gain from Independent |
| 10 Oct | Little Parndon and Town CentreHarlow | Labour 50.3% | Hold |
| 10 Oct | Farnley & WortleyLeeds | Not recorded | Hold |
| 10 Oct | WivelsfieldLewes | Green 42.3% | Hold |
| 10 Oct | Clay Cross NorthNorth East Derbyshire | Conservative 51.0% | Gain from Labour |
| 10 Oct | FortissatNorth Lanarkshire | Labour 36.6% | Gain from SNP |
| 10 Oct | Mossend and HolytownNorth Lanarkshire | Labour 36.5% | Gain from SNP |
| 10 Oct | Burton And BroughtonNorth Northamptonshire | Conservative 46.4% | Hold |
| 10 Oct | The HavensPembrokeshire | Conservative 52.1% | Gain from Independent |
| 10 Oct | Addlestone SouthRunnymede | Conservative 41.1% | Hold |
| 10 Oct | Bamber Bridge WestSouth Ribble | Labour 44.8% | Hold |
| 10 Oct | ShirleySouthampton | Not recorded | Hold |
| 10 Oct | Hoxne and EyeSuffolk | Conservative 45.3% | Hold |
| 10 Oct | HeeneWorthing | Conservative 42.0% | Gain from Labour |
| 17 Oct | Aylesford & East StourAshford | Green 31.6% | Gain from Labour |
| 17 Oct | BelvedereBexley | Labour 38.5% | Hold |
| 17 Oct | TirymynachCeredigion | Liberal Democrats 48.9% | Hold |
| 17 Oct | KeswickCumberland | Labour 50.7% | Hold |
| 17 Oct | WetheralCumberland | Conservative 51.6% | Hold |
| 17 Oct | Falkirk SouthFalkirk | Labour 30.5% | Gain from SNP |
| 17 Oct | Eltham Town & Avery HillGreenwich | Conservative 48.8% | Gain from Labour |
| 17 Oct | LlanberisGwynedd | Plaid Cymru - The Party of Wales 60.9% | Not known |
| 17 Oct | Holme Valley SouthKirklees | Not recorded | Hold |
| 17 Oct | Royston PalaceNorth Hertfordshire | Labour 25.2% | Hold |
| 17 Oct | Harpenden North and RuralSt Albans | Conservative 42.8% | Gain from Liberal Democrats |
| 17 Oct | Bredbury Green and RomileyStockport | Liberal Democrats 59.3% | Hold |
| 17 Oct | Cheadle West and GatleyStockport | Liberal Democrats 44.1% | Hold |
| 17 Oct | Rodbourne CheneySwindon | Not recorded | Hold |
| 17 Oct | Grange and CartmelWestmorland and Furness | Liberal Democrats 84.8% | Hold |
| 17 Oct | Ascot & SunninghillWindsor & Maidenhead | Conservative 58.5% | Hold |
| 24 Oct | Muscliff & Strouden ParkBournemouth, Christchurch & Poole | Conservative 47.9% | Gain from Independent |
| 24 Oct | CalderCalderdale | Labour 38.9% | Hold |
| 24 Oct | Northgate and West GreenCrawley | Labour 36.4% | Hold |
| 24 Oct | Prestatyn NorthDenbighshire | Conservative 25.9% | Gain from Labour |
| 24 Oct | CROFTEast Lindsey | Conservative 46.5% | Hold |
| 24 Oct | Whickham NorthGateshead | Liberal Democrats 52.3% | Hold |
| 24 Oct | TalybolionIsle of Anglesey | Independent 51.6% | Not known |
| 24 Oct | HemlingtonMiddlesbrough | Labour 53.1% | Hold |
| 24 Oct | TownMonmouthshire | Conservative 58.9% | Gain from Labour |
| 24 Oct | Barton & BectonNew Forest | Conservative 57.1% | Hold |
| 24 Oct | Histon & ImpingtonSouth Cambridgeshire | Liberal Democrats 38.7% | Hold |
| 24 Oct | MiddleforthSouth Ribble | Conservative 46.3% | Gain from Labour |
| 24 Oct | Old DeanSurrey Heath | Liberal Democrats 44.7% | Gain from Conservative |
| 31 Oct | Sileby & SeagraveCharnwood | Green 52.9% | Hold |
| 31 Oct | Bishops WalthamHampshire | Liberal Democrats 52.2% | Gain from Conservative |
| 31 Oct | North MiddletonRochdale | Not recorded | Hold |
| 31 Oct | EcclesSalford | Labour 48.1% | Hold |
| 31 Oct | Bramhall South and WoodfordStockport | Not recorded | Hold |
| 31 Oct | Kirkby Stephen and TebayWestmorland and Furness | Liberal Democrats 82.7% | Hold |
| 31 Oct | Bilston NorthWolverhampton | Reform UK 34.8% | Gain from Labour |
| 7 Nov | Central BuchanAberdeenshire | Conservative 41.3% | Gain from SNP |
| 7 Nov | Fraserburgh and DistrictAberdeenshire | Conservative 36.4% | Gain from SNP |
| 7 Nov | MearnsAberdeenshire | Conservative 39.2% | Gain from SNP |
| 7 Nov | BisphamBlackpool | Labour 31.6% | Gain from Conservative |
| 7 Nov | Great HollandsBracknell Forest | Labour 44.6% | Hold |
| 7 Nov | Bishops Frome & CradleyHerefordshire | Green 60.1% | Hold |
| 7 Nov | Inverclyde WestInverclyde | Labour 34.0% | Gain from SNP |
| 7 Nov | Elgin City SouthMoray | Conservative 31.6% | Gain from SNP |
| 7 Nov | Marsh MillWyre | Reform UK 38.6% | Gain from Conservative |
| 14 Nov | Calver & LongstoneDerbyshire Dales | Conservative 47.6% | Gain from Green |
| 14 Nov | Doon ValleyEast Ayrshire | Labour 32.4% | Gain from SNP |
| 14 Nov | Kilmarnock West and CrosshouseEast Ayrshire | Labour 39.4% | Gain from SNP |
| 14 Nov | Colinton/FairmileheadEdinburgh | Liberal Democrats 36.9% | Gain from SNP |
| 14 Nov | Shooters HillGreenwich | Labour 57.9% | Hold |
| 14 Nov | BradwellMilton Keynes | Liberal Democrats 51.8% | Hold |
| 14 Nov | BroughtonMilton Keynes | Liberal Democrats 43.8% | Hold |
| 14 Nov | Wanstead ParkRedbridge | Labour 46.9% | Hold |
| 14 Nov | Hadley & LeegomeryTelford & Wrekin | Labour 45.3% | Hold |
| 14 Nov | The NedgeTelford & Wrekin | Labour 33.8% | Hold |
| 14 Nov | Whitburn and BlackburnWest Lothian | Labour 30.9% | Gain from SNP |
| 14 Nov | Chipping NortonWest Oxfordshire | Liberal Democrats 31.3% | Gain from Labour |
| 21 Nov | Bennetts EndDacorum | Labour 37.1% | Hold |
| 21 Nov | Hemel Hempstead TownDacorum | Conservative 43.7% | Gain from Liberal Democrats |
| 21 Nov | Greenhithe & KnockhallDartford | Reform UK 31.2% | Gain from Swanscombe and Greenhithe Residents' Association |
| 21 Nov | Drumchapel/AnnieslandGlasgow | Labour 34.4% | Gain from SNP |
| 21 Nov | MaryhillGlasgow | Labour 35.9% | Gain from SNP |
| 21 Nov | North EastGlasgow | Labour 34.3% | Gain from SNP |
| 21 Nov | Harbourside and TownGosport | Not recorded | Hold |
| 21 Nov | Fort William and ArdnamurchanHighland | Liberal Democrats 58.9% | Gain from SNP |
| 21 Nov | DenneHorsham | Conservative 38.6% | Gain from Liberal Democrats |
| 21 Nov | Swanscombe and GreenhitheKent | Reform UK 29.1% | Gain from Swanscombe and Greenhithe Residents' Association |
| 21 Nov | Oakham North EastRutland | Liberal Democrats 40.9% | Hold |
| 21 Nov | LitherlandSefton | Labour 43.6% | Hold |
| 21 Nov | Blackmoor ValeSomerset | Conservative 57.4% | Gain from Liberal Democrats |
| 21 Nov | Rowbarton and StaplegroveSomerset | Liberal Democrats 58.3% | Hold |
| 21 Nov | MurstonSwale | Swale Independents 34.5% | Hold |
| 28 Nov | NorthburyBarking and Dagenham | Labour 57.7% | Hold |
| 28 Nov | VillageBarking and Dagenham | Labour 50.8% | Hold |
| 28 Nov | JubileeEnfield | Labour 39.4% | Hold |
| 28 Nov | West Fife and Coastal VillagesFife | Labour 33.1% | Gain from SNP |
| 28 Nov | JunctionIslington | Labour 42.5% | Hold |
| 28 Nov | WoodhouseSheffield | Liberal Democrats 31.2% | Gain from Labour |
| 28 Nov | Frampton CotterellSouth Gloucestershire | Liberal Democrats 49.3% | Hold |
| 28 Nov | KilpatrickWest Dunbartonshire | Labour 43.1% | Gain from SNP |
| 28 Nov | Haxby & WiggintonYork | Liberal Democrats 64.0% | Hold |
| 5 Dec | SplottCardiff | Labour 34.0% | Hold |
| 5 Dec | KilgrimolFylde | Conservative 46.1% | Hold |
| 5 Dec | Partick East/KelvindaleGlasgow | Labour 37.5% | Gain from SNP |
| 5 Dec | CholseySouth Oxfordshire | Liberal Democrats 62.2% | Hold |
| 5 Dec | Stirling EastStirling | SNP 34.6% | Hold |
| 5 Dec | ShinfieldWokingham | Not recorded | Hold |
| 12 Dec | DodworthBarnsley | Liberal Democrats 45.0% | Hold |
| 12 Dec | South Hanningfield Stock & MargarettingChelmsford | Conservative 81.3% | Hold |
| 12 Dec | StockEssex | Conservative 46.4% | Hold |
| 12 Dec | OttershawRunnymede | Independent 32.9% | Hold |
| 12 Dec | BlackbrookSt. Helens | Reform UK 41.1% | Gain from Labour |
| 12 Dec | FeatherstoneWakefield | Labour 42.1% | Hold |
| 19 Dec | BassishawCity Of London | Independent 100.0% | Not known |
| 19 Dec | BillingsgateCity Of London | Independent 100.0% | Not known |
| 19 Dec | Broad StreetCity Of London | Independent 100.0% | Not known |
| 19 Dec | Brockmoor and PensnettDudley | Not recorded | Hold |
| 19 Dec | West ThamesmeadGreenwich | Labour 45.1% | Hold |
| 19 Dec | Milton RegisSwale | Reform UK 33.9% | Gain from Labour |
