Most of the byelections held on 1 May went back to the party which had previously held the seat, as is usual. Five did change hands.
- The Conservatives gained Greenford Broadway ward, Ealing borough council from Labour, a ward vacated by former Labour group leader Sonika Nirwal.
- Labour gained Weavers ward, Tower Hamlets borough council from the Liberal Democrats, and Ashington Central ward, Wansbeck district council from the ‘Fresh Party’.
- The Green Party gained the third seat in Highgate ward, Camden borough council from the Conservatives, completing their takeover of this ward.
- The British National Party won a seat from Labour in Tilbury Riverside and Thurrock Park ward, Thurrock borough council.
The seats which did not change hands were:
- Conservative holds: Abbey division, Cheshire county council; Abbey ward, Dumfries and Galloway council; Alcombe East ward, West Somerset district council; Brompton ward, Royal Borough of Kensington and Chelsea; Hale ward, Barnet borough council; Kidlington and Yarnton division, Oxfordshire county council; Leftwich and Kingsmead ward, Vale Royal district council; Mendip North East division, Somerset county council; Millwall ward, Tower Hamlets borough council; Newcastle Rural division, Staffordshire county council; Queen’s Park ward, Bournemouth borough council; Sands End ward, Hammersmith and Fulham borough council; Sweeney and Trefonen ward, Oswestry borough council; Winton East ward, Bournemouth borough council.
- Liberal Democrat holds: Comeytrowe ward, Taunton Deane district council; Flitwick East ward, Mid Bedfordshire district council; Romsey division, Cambridgeshire county council.
- Scottish National Party hold: Troup ward, Aberdeenshire council.