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
| Party | Gained | Lost | Net |
|---|---|---|---|
| Liberal Democrats | 18 | 3 | ▲ +15 |
| Green | 9 | 1 | ▲ +8 |
| Independent | 5 | 3 | ▲ +2 |
| Labour | 11 | 11 | – 0 |
| Residents for Uttlesford | 0 | 1 | ▼ -1 |
| SNP | 0 | 9 | ▼ -9 |
| Conservative | 9 | 24 | ▼ -15 |
Every by-election
| Date | Ward | Winner | Previously |
|---|---|---|---|
| 5 Jan | Etching Hill and the HeathCannock Chase | Labour 52.3% | Gain from Conservative |
| 5 Jan | Great Dunmow South & BarnstonUttlesford | Conservative 52.0% | Gain from Residents for Uttlesford |
| 12 Jan | Moor ViewPlymouth | Labour 51.8% | Gain from Conservative |
| 12 Jan | Plympton ChaddlewoodPlymouth | Green 44.9% | Hold |
| 19 Jan | Biddulph NorthStaffordshire | Labour 49.5% | Gain from Conservative |
| 19 Jan | Biddulph WestStaffordshire Moorlands | Labour 43.5% | Hold |
| 19 Jan | BedwellStevenage | Labour 69.8% | Hold |
| 26 Jan | KeppelRotherham | Labour 36.1% | Hold |
| 2 Feb | Hotwells and HarboursideBristol, City of | Green 43.0% | Gain from Liberal Democrats |
| 2 Feb | NorthallNorth Northamptonshire | Labour 38.0% | Gain from Conservative |
| 2 Feb | LlantarnamTorfaen | Independent 41.7% | Hold |
| 9 Feb | BattledownCheltenham | Liberal Democrats 52.0% | Gain from Conservative |
| 9 Feb | Wilmington, Sutton-at-Hone & HawleyDartford | Conservative 69.0% | Hold |
| 9 Feb | Rhyl Tŷ NewyddDenbighshire | Conservative 40.1% | Gain from Labour |
| 9 Feb | Hitchin NorthHertfordshire | Labour 65.8% | Hold |
| 9 Feb | Masham and FountainsNorth Yorkshire | Liberal Democrats 62.7% | Gain from Conservative |
| 16 Feb | Golders GreenBarnet | Conservative 66.8% | Hold |
| 16 Feb | St Neots The EatonsCambridgeshire | Liberal Democrats 43.5% | Not known |
| 16 Feb | Long Rock, Marazion And St ErthCornwall | Liberal Democrats 45.4% | Gain from Conservative |
| 16 Feb | Netherton & OrrellSefton | Labour 82.5% | Hold |
| 23 Feb | Dyce/Bucksburn/DanestoneAberdeen | Labour 26.0% | Gain from SNP |
| 23 Feb | SmithfieldWrexham | Plaid Cymru - The Party of Wales 41.3% | Not known |
| 2 Mar | Hythe WestKent | Green 47.0% | Gain from Conservative |
| 2 Mar | BykerNewcastle Upon Tyne | Labour 46.9% | Hold |
| 2 Mar | LittlemoreOxford | Labour 44.9% | Hold |
| 2 Mar | Rose Hill and LittlemoreOxfordshire | Labour 44.0% | Hold |
| 2 Mar | Watling SouthStaffordshire | Conservative 46.6% | Hold |
| 2 Mar | BelgraveTamworth | Conservative 34.3% | Hold |
| 9 Mar | Corstorphine/MurrayfieldEdinburgh | Liberal Democrats 58.1% | Gain from SNP |
| 9 Mar | Tottenham HaleHaringey | Labour 58.7% | Hold |
| 9 Mar | Heston WestHounslow | Labour 52.4% | Hold |
| 16 Mar | CottenhamSouth Cambridgeshire | Liberal Democrats 41.7% | Hold |
| 16 Mar | Dunblane and Bridge of AllanStirling | Conservative 41.0% | Gain from SNP |
| 23 Mar | CripplegateCity Of London | Independent 100.0% | Not known |
| 23 Mar | Castle BaynardCity of London Corporation | Independent 100.0% | Not known |
| 23 Mar | Rushden SouthNorth Northamptonshire | Conservative 54.5% | Hold |
| 30 Mar | HeathBarking and Dagenham | Labour 62.1% | Hold |
| 30 Mar | WestgateGloucester | Liberal Democrats 43.2% | Gain from Labour |
| 30 Mar | AethwyIsle of Anglesey | Plaid Cymru - The Party of Wales 54.0% | Not known |
| 20 Apr | BullsmoorEnfield | Labour 55.8% | Hold |
| 20 Apr | Latchford WestWarrington | Labour 40.8% | Hold |
| 27 Apr | PenderrySwansea | Labour 55.9% | Hold |
| 4 May | South WealdBrentwood | Liberal Democrats 64.0% | Gain from Conservative |
| 4 May | ArburyCambridgeshire | Labour 43.0% | Hold |
| 4 May | Soham South and HaddenhamCambridgeshire | Conservative 44.6% | Hold |
| 4 May | Chester-Le-Street EastCounty Durham | Labour 59.8% | Hold |
| 4 May | Basildon Laindon Park and FryernsEssex | Labour 49.7% | Hold |
| 4 May | HighnamGloucestershire | Conservative 50.7% | Hold |
| 4 May | Purbrook And Stakes SouthHavant | Conservative 47.1% | Hold |
| 4 May | SheppeyKent | Conservative 33.3% | Hold |
| 4 May | Eagle and Hykeham WestLincolnshire | Conservative 32.5% | Hold |
| 4 May | SwaffhamNorfolk | Conservative 50.9% | Hold |
| 4 May | Kirkby SouthNottinghamshire | Ashfield Independents 51.2% | Hold |
| 4 May | Felixstowe CoastalSuffolk | Liberal Democrats 44.4% | Gain from Conservative |
| 4 May | Priory HeathSuffolk | Labour 50.8% | Hold |
| 4 May | Walton South and OatlandsSurrey | Liberal Democrats 44.1% | Gain from Conservative |
| 4 May | DucklingtonWest Oxfordshire | Conservative 41.8% | Hold |
| 4 May | East Grinstead MeridianWest Sussex | Conservative 43.5% | Hold |
| 4 May | Old Barrow and HindpoolWestmorland and Furness | Labour 69.4% | Hold |
| 4 May | Malvern ChaseWorcestershire | Green 25.4% | Gain from Liberal Democrats |
| 17 May | Painswick and UptonStroud | Green 45.9% | Gain from Conservative |
| 22 May | St Mary'sIsles of Scilly | Independent 100.0% | Hold |
| 25 May | EastfieldNorth Yorkshire | Independent 48.1% | Gain from Labour |
| 1 Jun | South HampsteadCamden | Labour 35.6% | Hold |
| 8 Jun | TisburyWiltshire | Liberal Democrats 67.0% | Hold |
| 13 Jun | St PetersSt Albans | Green 44.7% | Hold |
| 15 Jun | BellshillNorth Lanarkshire | Labour 51.8% | Gain from SNP |
| 15 Jun | Efford and LipsonPlymouth | Labour 58.7% | Hold |
| 15 Jun | HiltonSouth Derbyshire | Liberal Democrats 38.9% | Hold |
| 15 Jun | HendonSunderland | Labour 43.6% | Hold |
| 15 Jun | Frimley GreenSurrey Heath | Liberal Democrats 60.5% | Hold |
| 15 Jun | BurratorWest Devon | Liberal Democrats 48.5% | Hold |
| 22 Jun | PAULTONBath & North East Somerset | Labour 70.1% | Hold |
| 22 Jun | CoxfordSouthampton | Labour 42.5% | Hold |
| 22 Jun | HartburnStockton-on-Tees | Conservative 56.5% | Hold |
| 22 Jun | Tavistock NorthWest Devon | Independent 25.5% | Gain from Liberal Democrats |
| 22 Jun | Rural SouthWest Lancashire | Our West Lancashire 49.2% | Not known |
| 22 Jun | WarrenWyre | Labour 64.0% | Not known |
| 29 Jun | WybostonBedford | Conservative 63.1% | Hold |
| 29 Jun | East Cliff & SpringbourneBournemouth, Christchurch & Poole | Green 38.4% | Gain from Labour |
| 29 Jun | Sherborne WestDorset | Liberal Democrats 49.5% | Hold |
| 29 Jun | Hermitage & GardensHaringey | Labour 59.6% | Hold |
| 29 Jun | NewingtonSouthwark | Labour 57.5% | Hold |
| 4 Jul | King's HedgesCambridge | Conservative 34.9% | Gain from Labour |
| 6 Jul | Maidstone CentralKent | Liberal Democrats 28.5% | Hold |
| 6 Jul | East Kilbride WestSouth Lanarkshire | Labour 40.5% | Gain from SNP |
| 13 Jul | Castle BaynardCity of London Corporation | Independent 100.0% | Not known |
| 13 Jul | Boleyn [merged 09ee191d]Newham | Independent 42.5% | Not known |
| 13 Jul | Wall End [merged fa3819d9]Newham | Labour 61.1% | Not known |
| 13 Jul | West DepwadeNorfolk | Green 29.0% | Gain from Conservative |
| 13 Jul | DinningtonRotherham | Conservative 42.7% | Hold |
| 20 Jul | LlanfarianCeredigion | Liberal Democrats 48.2% | Hold |
| 20 Jul | St. Margaret & South MarstonSwindon | Conservative 50.5% | Gain from Labour |
| 20 Jul | NunneryWorcester | Labour 59.7% | Hold |
| 27 Jul | DenhamBuckinghamshire | Conservative 42.2% | Hold |
| 27 Jul | Heathfield and MayfieldEast Sussex | Green 61.5% | Gain from Conservative |
| 27 Jul | Plymstock DunstonePlymouth | Labour 33.2% | Hold |
| 27 Jul | St. Peter & the WaterfrontPlymouth | Labour 48.0% | Hold |
| 27 Jul | Poulton NorthWarrington | Labour 56.4% | Hold |
| 3 Aug | Cradley & WollescoteDudley | Liberal Democrats 52.4% | Gain from Labour |
| 3 Aug | MeadsEast Sussex | Liberal Democrats 50.1% | Gain from Conservative |
| 3 Aug | Freebridge LynnNorfolk | Liberal Democrats 38.4% | Gain from Conservative |
| 3 Aug | NorcotReading | Labour 58.2% | Hold |
| 10 Aug | UpminsterHavering | Upminster and Cranham Residents Association 63.2% | Not known |
| 10 Aug | Castle CarySomerset | Liberal Democrats 54.8% | Hold |
| 10 Aug | Evesham SouthWychavon | Green 47.7% | Hold |
| 17 Aug | AyresomeMiddlesbrough | Independent 35.9% | Gain from Labour |
| 17 Aug | Marshalswick East and Jersey FarmSt Albans | Liberal Democrats 46.0% | Hold |
| 24 Aug | Bishopston and Ashley DownBristol, City of | Green 50.2% | Hold |
| 24 Aug | St. James'sDudley | Labour 48.0% | Hold |
| 24 Aug | Wootton BridgeIsle Of Wight | Liberal Democrats 47.9% | Not known |
| 31 Aug | PenmaenCaerphilly | Labour 35.1% | Hold |
| 31 Aug | Swadlincote SouthDerbyshire | Labour 62.2% | Gain from Conservative |
| 31 Aug | Batley EastKirklees | Labour 73.7% | Hold |
| 6 Sept | Ashford TownSpelthorne | Conservative 37.5% | Gain from Independent |
| 7 Sept | Thorpe St. Andrew North WestBroadland | Conservative 52.2% | Gain from Labour |
| 7 Sept | Bread StreetCity Of London | Independent 100.0% | Not known |
| 7 Sept | Golden Valley SouthHerefordshire | Not recorded | Hold |
| 7 Sept | BrooklandsManchester | Labour 61.5% | Hold |
| 7 Sept | AudleyNewcastle-under-Lyme | Labour 46.1% | Hold |
| 7 Sept | KnuttonNewcastle-under-Lyme | Labour 49.0% | Hold |
| 7 Sept | WorfieldShropshire | Liberal Democrats 48.1% | Gain from Conservative |
| 14 Sept | MayesbrookBarking and Dagenham | Labour 46.9% | Hold |
| 14 Sept | Croston, Mawdesley & Euxton SouthChorley | Conservative 47.9% | Hold |
| 14 Sept | Chorley Rural WestLancashire | Labour 52.1% | Gain from Conservative |
| 14 Sept | CarholmeLincolnshire | Labour 48.0% | Hold |
| 14 Sept | Fazakerley EastLiverpool | Labour 37.5% | Hold |
| 14 Sept | Minster CliffsSwale | Swale Independents 35.8% | Hold |
| 21 Sept | HighwoodsColchester | Liberal Democrats 39.4% | Hold |
| 21 Sept | BricknellKingston Upon Hull | Labour 43.7% | Hold |
| 21 Sept | Newport Pagnell SouthMilton Keynes | Liberal Democrats 43.5% | Hold |
| 21 Sept | Girvan and South CarrickSouth Ayrshire | Conservative 47.5% | Gain from SNP |
| 28 Sept | Tain and Easter RossHighland | Independent 41.5% | Gain from SNP |
| 28 Sept | Hutton Rudby and OsmotherleyNorth Yorkshire | Conservative 48.4% | Hold |
| 28 Sept | Mulbarton & Stoke Holy CrossSouth Norfolk | Liberal Democrats 37.1% | Hold |
| 28 Sept | South WymondhamSouth Norfolk | Liberal Democrats 35.0% | Hold |
| 28 Sept | Bushbury South & Low HillWolverhampton | Labour 59.2% | Hold |
| 4 Oct | South TottenhamHaringey | Labour 68.2% | Hold |
| 4 Oct | White Hart LaneHaringey | Labour 59.0% | Hold |
| 5 Oct | VauxhallLambeth | Labour 42.0% | Hold |
| 5 Oct | AmingtonTamworth | Labour 42.9% | Hold |
| 12 Oct | PrestburyCheltenham | People Against Bureaucracy Group 37.2% | Not known |
| 12 Oct | WoodbridgeSuffolk | Liberal Democrats 51.2% | Hold |
| 19 Oct | Alveley And ClaverleyShropshire | Liberal Democrats 58.8% | Gain from Conservative |
| 19 Oct | HorsleysSurrey | Residents for Guildford and Villages 39.3% | Hold |
| 19 Oct | Warndon Parish SouthWorcester | Green 53.7% | Hold |
| 19 Oct | Warndon ParishWorcestershire | Green 44.1% | Gain from Conservative |
| 26 Oct | TrinityBurnley | Green 59.5% | Hold |
| 26 Oct | EarlsdonCoventry | Labour 44.3% | Hold |
| 26 Oct | Golden Valley SouthHerefordshire | Independent 63.6% | Hold |
| 26 Oct | Burnley Central WestLancashire | Green 32.4% | Hold |
| 26 Oct | Higham HillWaltham Forest | Labour 57.3% | Hold |
| 2 Nov | South KintyreArgyll and Bute | Independent 57.7% | Gain from SNP |
| 2 Nov | Buckingham EastBuckinghamshire | Liberal Democrats 39.8% | Gain from Labour |
| 2 Nov | CripplegateCity Of London | Labour 60.5% | Not known |
| 2 Nov | LangbournCity of London Corporation | Independent 100.0% | Not known |
| 2 Nov | Molesey EastElmbridge | Liberal Democrats 36.1% | Hold |
| 2 Nov | ASFORDBYMelton | Labour 34.1% | Gain from Independent |
| 2 Nov | Kilnhurst and Swinton EastRotherham | Labour 64.6% | Hold |
| 2 Nov | Bucklow-St MartinsTrafford | Labour 62.2% | Hold |
| 9 Nov | Mayor of HackneyEngland | Labour 49.8% | Hold |
| 9 Nov | DeptfordLewisham | Labour 71.2% | Hold |
| 9 Nov | Grantham NorthLincolnshire | Conservative 40.8% | Hold |
| 9 Nov | Crickhowell with Cwmdu & TretowerPowys | Liberal Democrats 58.3% | Hold |
| 9 Nov | Spalding St Paul'sSouth Holland | Not recorded | Hold |
| 9 Nov | Grantham St Wulfram'sSouth Kesteven | Conservative 34.5% | Gain from Independent |
| 16 Nov | KearsleyBolton | Farnworth and Kearsley First Party 66.0% | Not known |
| 16 Nov | Westhoughton North and Hunger HillBolton | Liberal Democrats 41.5% | Hold |
| 16 Nov | Aberystwyth PenparcauCeredigion | Plaid Cymru - The Party of Wales 36.7% | Not known |
| 16 Nov | Rossington And BawtryDoncaster | Labour 56.7% | Hold |
| 16 Nov | Motherwell South East and RavenscraigNorth Lanarkshire | Labour 44.0% | Gain from SNP |
| 16 Nov | WringtonNorth Somerset | Green 32.7% | Not known |
| 22 Nov | TALYBONT-ON-USKPowys | Liberal Democrats 52.1% | Hold |
| 23 Nov | Queen Edith'sCambridge | Liberal Democrats 35.0% | Hold |
| 23 Nov | Plaistow North [merged f71cc3c4]Newham | Independent 51.5% | Not known |
| 30 Nov | HighgateCamden | Green 58.7% | Gain from Labour |
| 30 Nov | Farringdon WithoutCity of London Corporation | Temple and Farringdon Together | Not known |
| 30 Nov | PortsokenCity of London Corporation | Independent 100.0% | Not known |
| 30 Nov | DawdonCounty Durham | Labour 55.9% | Hold |
| 30 Nov | Sowerby and TopcliffeNorth Yorkshire | Liberal Democrats 41.6% | Gain from Green |
| 7 Dec | Hayes and Coney HallBromley | Conservative 48.0% | Hold |
| 7 Dec | Rhyl South WestDenbighshire | Labour 51.3% | Hold |
| 7 Dec | Harpenden RuralHertfordshire | Liberal Democrats 58.3% | Gain from Conservative |
| 7 Dec | BristonNorth Norfolk | Liberal Democrats 49.2% | Hold |
| 7 Dec | Sandridge and WheathampsteadSt Albans | Liberal Democrats 55.9% | Hold |
| 14 Dec | Lechlade, Kempsford & Fairford SouthCotswold | Liberal Democrats 48.5% | Hold |
| 14 Dec | Billinghay RuralNorth Kesteven | Liberal Democrats 41.1% | Gain from Conservative |
| 14 Dec | DunsmoreRugby | Liberal Democrats 37.3% | Gain from Conservative |
| 14 Dec | AbbeySwale | Liberal Democrats 44.9% | Hold |
| 14 Dec | Chorleywood South and Maple CrossThree Rivers | Liberal Democrats 57.5% | Hold |
| 14 Dec | Dunsmore and Leam ValleyWarwickshire | Conservative 42.8% | Hold |
| 21 Dec | Glen ParvaBlaby | Liberal Democrats 60.5% | Hold |
| 21 Dec | Ventnor And St LawrenceIsle Of Wight | Conservative 41.1% | Hold |
| 21 Dec | Blaby and Glen ParvaLeicestershire | Liberal Democrats 61.2% | Hold |
