There were fifty-nine local government by-elections last week.
Conservatives held ten seats: one seat each in Bassetlaw, Bedford, Crawley, East Riding of Yorkshire, East Suffolk, Fenland, Three Rivers, and Westminster and two seats in Newcastle Under Lyme. Conservatives gained one seat from Labour in South Derbyshire, one seat from the Liberal Democrats in Elmbridge and one seat from an independent in Spelthorne.
Labour gained three seats from the Conservatives: one seat each in Essex, Gosport, and Suffolk and gained two seats from the Liberal Democrats: one seat in Chesterfield and one seat in Ribble Valley. Labour held thirty-two seats: one seat each in Barnet, Brent, Bristol, Cheshire West and Chester, Chesterfield, Doncaster, Durham, Hackney, Haringey, Hounslow, Lambeth, Lewisham, Sefton, South Gloucestershire, Southend-on-Sea, St Helens, Wigan, Wirral, and York. They held two seats each in Birmingham, Merton, Middlesbrough, Newark, and Southwark, and held three seats in Liverpool.
Liberal Democrats held three seats: one seat each in Kingston Upon Thames, North Norfolk, and Winchester. They also gained one seat from Labour in Preston.
The Green party gained two seats from Labour in Brighton & Hove and Lancaster, and held one seat in Tonbridge and Malling.
An independent held a seat in Western Isles.
Reform gained one seat from the Conservatives in East Riding of Yorkshire.