# 2023 South Gloucestershire Council election

The 2023 South Gloucestershire Council election took place on 4 May 2023 to elect members of South Gloucestershire Council in England. This was on the same day as other local elections across England.
The Conservatives lost control of the council to no overall control. A Liberal Democrat and Labour coalition subsequently formed to take control of the council.

## Overview

Prior to the election the Conservatives had a majority on the council, holding 33 of the 61 seats. Their group leader Toby Savage, who had been leader of the council since 2018, chose not to stand for re-election. The Labour group leader Pat Rooney also chose not to stand for re-election.
Following the election the Conservatives remained the largest party but made a net loss of ten seats, putting the council under no overall control. The Liberal Democrats and Labour agreed to form a coalition to run the council. At the subsequent annual council meeting on 24 May 2023 the Liberal Democrat group leader Claire Young was appointed leader of the council, and the new Labour group leader Ian Boulton was appointed co-leader of the council. The Conservatives chose Sam Bromiley to be their new leader in opposition.

## Results summary

2023 South Gloucestershire Council election :
| Party | Candidates | Seats | Gains | Losses | Net gain/loss | Seats % | Votes % | Votes | +/− |
| Conservative | 61 | 23 | 1 | 11 | 10 | 37.7 | 35.9 | 58,239 | –6.5 |
| Liberal Democrats | 61 | 20 | 4 | 1 | 3 | 32.8 | 33.9 | 55,012 | +0.7 |
| Labour | 43 | 17 | 7 | 1 | 6 | 27.9 | 24.2 | 39,257 | +5.1 |
| Independent | 6 | 1 | 1 | 0 | 1 | 1.6 | 1.4 | 2,346 | ±0.0 |
| Green | 16 | 0 | 0 | 0 | | 0.0 | 4.2 | 6,847 | +2.1 |
| Reform UK | 2 | 0 | 0 | 0 | | 0.0 | 0.2 | 329 | N/A |
| National Housing Party No More Refugees | 1 | 0 | 0 | 0 | | 0.0 | 0.1 | 228 | N/A |

## Ward results

Sitting councillors are marked with an asterisk (*).

### Bitton and Oldham Common

Bitton and Oldland Common (2 seats) :
| Party | Party | Candidate | Votes | % | ±% |
| | Conservative | Paul Hughes* | 899 | 41.7 | −5.3 |
| | Conservative | Erica Williams* | 833 | 38.6 | −7.9 |
| | Labour | Darren Langley | 711 | 33.0 | +7.6 |
| | Green | Peter Hallett | 521 | 24.2 | +8.5 |
| | Liberal Democrats | Kenton Boon | 373 | 17.3 | +0.6 |
| | Green | Sarah Freeman | 361 | 16.7 | N/A |
| | Liberal Democrats | Stanley Perry | 288 | 13.4 | −0.4 |
| Turnout | Turnout | Turnout | 2,156 | 30 | 1 |
| | Conservative hold | Conservative hold | Conservative hold | Conservative hold | Conservative hold |
| | Conservative hold | Conservative hold | Conservative hold | Conservative hold | Conservative hold |

### Boyd Valley

Boyd Valley (2 seats) :
| Party | Party | Candidate | Votes | % | ±% |
| | Liberal Democrats | Marilyn Palmer | 1,316 | 49.3 | +9.7 |
| | Conservative | Ben Stokes* | 1,234 | 46.2 | −6.2 |
| | Conservative | Steve Reade* | 1,211 | 45.4 | −7.2 |
| | Liberal Democrats | Neil Willmott | 1,130 | 42.3 | +9.2 |
| | Reform UK | Andy Banwell | 155 | 5.8 | N/A |
| Turnout | Turnout | Turnout | 2,669 | 38 | 2 |
| | Liberal Democrats gain from Conservative | Liberal Democrats gain from Conservative | Liberal Democrats gain from Conservative | Liberal Democrats gain from Conservative | Liberal Democrats gain from Conservative |
| | Conservative hold | Conservative hold | Conservative hold | Conservative hold | Conservative hold |

### Bradley Stoke North

Bradley Stoke North (2 seats) :
| Party | Party | Candidate | Votes | % | ±% |
| | Conservative | Terry Cullen | 1,062 | 39.2 | −1.6 |
| | Conservative | Franklin Owusu-Antwi* | 932 | 34.4 | −3.8 |
| | Labour | Nigel Goldsmith | 765 | 28.3 | +6.5 |
| | Labour | Ges Rosenberg | 731 | 27.0 | +5.6 |
| | Independent | Sarah Pomfret* | 483 | 17.8 | −23.0 |
| | Green | James Nelson | 457 | 16.9 | N/A |
| | Liberal Democrats | Drew Clayton | 354 | 13.1 | −9.1 |
| | Liberal Democrats | Wendy Tomasin | 211 | 7.8 | −7.3 |
| | Reform UK | Thomas Crawley | 174 | 6.4 | N/A |
| Turnout | Turnout | Turnout | 2,706 | 33 | 4 |
| | Conservative hold | Conservative hold | Conservative hold | Conservative hold | Conservative hold |
| | Conservative hold | Conservative hold | Conservative hold | Conservative hold | Conservative hold |

### Bradley Stoke South

Bradley Stoke South (2 seats) :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | John Bradbury | 969 | 45.0 | +24.2 |
| | Conservative | Ben Randles | 915 | 42.5 | −0.6 |
| | Conservative | Roger Avenin* | 895 | 41.6 | −1.0 |
| | Labour | Kulwinder Sappal | 764 | 35.5 | +11.3 |
| | Liberal Democrats | Allan Moller | 285 | 13.2 | −1.7 |
| | Liberal Democrats | Guy Rawlinson | 264 | 12.3 | +0.1 |
| Turnout | Turnout | Turnout | 2,151 | 32 | 6 |
| | Labour gain from Conservative | Labour gain from Conservative | Labour gain from Conservative | Labour gain from Conservative | Labour gain from Conservative |
| | Conservative hold | Conservative hold | Conservative hold | Conservative hold | Conservative hold |

### Charfield

Charfield (1 seat) :
| Party | Party | Candidate | Votes | % | ±% |
| | Liberal Democrats | John O`Neill* | 903 | 70.7 | −2.6 |
| | Conservative | Michaela Crumpton | 288 | 22.6 | +1.5 |
| | Green | Pete Watts | 86 | 6.7 | +1.1 |
| Majority | Majority | Majority | 615 | 48.1 | |
| Turnout | Turnout | Turnout | 1,277 | 35 | 2 |
| | Liberal Democrats hold | Liberal Democrats hold | Swing | | |

### Charlton and Cribbs

Charlton and Cribbs (3 seats) :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Sam Scott | 695 | 42.4 | +11.8 |
| | Conservative | Sanjay Shambhu* | 683 | 41.6 | +2.1 |
| | Conservative | Jo Buddharaju* | 614 | 37.4 | −1.4 |
| | Conservative | Brian Hopkinson* | 603 | 36.8 | −1.0 |
| | Labour | Ravi Ravi | 507 | 30.9 | +1.4 |
| | Labour | Viljo Wilding | 437 | 26.6 | +0.1 |
| | Independent | Pete Knight | 375 | 22.9 | N/A |
| | Independent | Roger Loveridge | 315 | 19.2 | N/A |
| | Liberal Democrats | John Ford | 119 | 7.3 | −7.2 |
| | Liberal Democrats | Matthew Stringer | 117 | 7.1 | −6.9 |
| | Liberal Democrats | Dave Hockey | 104 | 6.3 | −8.1 |
| Turnout | Turnout | Turnout | 1,640 | 26 | |
| | Labour gain from Conservative | Labour gain from Conservative | Labour gain from Conservative | Labour gain from Conservative | Labour gain from Conservative |
| | Conservative hold | Conservative hold | Conservative hold | Conservative hold | Conservative hold |
| | Conservative hold | Conservative hold | Conservative hold | Conservative hold | Conservative hold |

### Chipping Sodbury and Cotswold Edge

Chipping Sodbury and Cotswold Edge (2 seats) :
| Party | Party | Candidate | Votes | % | ±% |
| | Liberal Democrats | Adrian Rush* | 1,687 | 45.9 | −1.5 |
| | Conservative | Becky Romaine | 1,680 | 45.7 | +4.5 |
| | Conservative | Roisin Hall | 1,678 | 45.6 | −0.9 |
| | Liberal Democrats | Patricia Trull* | 1,647 | 44.8 | −2.1 |
| | Labour | Ian Lowe | 336 | 9.1 | +3.5 |
| Turnout | Turnout | Turnout | 3,677 | 47 | |
| | Liberal Democrats hold | Liberal Democrats hold | Liberal Democrats hold | Liberal Democrats hold | Liberal Democrats hold |
| | Conservative gain from Liberal Democrats | Conservative gain from Liberal Democrats | Conservative gain from Liberal Democrats | Conservative gain from Liberal Democrats | Conservative gain from Liberal Democrats |

### Dodington

Dodington (2 seats) :
| Party | Party | Candidate | Votes | % | ±% |
| | Liberal Democrats | Louise Harris* | 1,479 | 67.5 | −0.5 |
| | Liberal Democrats | Cheryl Kirby | 1,432 | 65.4 | −2.9 |
| | Conservative | Rachel Welsh | 517 | 23.6 | −5.5 |
| | Conservative | Jo Nicholson | 516 | 23.6 | −3.9 |
| | National Housing Party No More Refugees | Callum Leat | 228 | 10.4 | N/A |
| Turnout | Turnout | Turnout | 2,191 | 29 | |
| | Liberal Democrats hold | Liberal Democrats hold | Liberal Democrats hold | Liberal Democrats hold | Liberal Democrats hold |
| | Liberal Democrats hold | Liberal Democrats hold | Liberal Democrats hold | Liberal Democrats hold | Liberal Democrats hold |

### Emersons Green

Emersons Green (3 seats) :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Katrina Al-Hassan | 1,614 | 42.5 | +10.2 |
| | Conservative | Rachael Hunt* | 1,532 | 40.3 | −3.8 |
| | Labour | Ron Hardie | 1,508 | 39.7 | +10.9 |
| | Labour | Sadik Al-Hassan | 1,498 | 39.4 | +5.2 |
| | Conservative | Colin Hunt* | 1,482 | 39.0 | −4.0 |
| | Conservative | Alka Mehta-Graham | 1,183 | 31.1 | −14.4 |
| | Green | Sian Harris | 876 | 23.1 | N/A |
| | Liberal Democrats | Gabriella Miron | 424 | 11.2 | −8.9 |
| | Liberal Democrats | Susan Walker | 324 | 8.5 | −10.3 |
| | Liberal Democrats | Laurence Walker | 306 | 8.1 | −6.6 |
| Turnout | Turnout | Turnout | 3,799 | 31 | 3 |
| | Labour gain from Conservative | Labour gain from Conservative | Labour gain from Conservative | Labour gain from Conservative | Labour gain from Conservative |
| | Conservative hold | Conservative hold | Conservative hold | Conservative hold | Conservative hold |
| | Labour gain from Conservative | Labour gain from Conservative | Labour gain from Conservative | Labour gain from Conservative | Labour gain from Conservative |

### Filton

Filton (2 seats) :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Adam Monk* | 1,114 | 51.1 | +17.6 |
| | Labour | Alex Doyle | 961 | 44.1 | +11.9 |
| | Green | Dan Boardman | 485 | 22.2 | +8.3 |
| | Conservative | Esther Adjeivi | 476 | 21.8 | −10.4 |
| | Conservative | Frederic Contenot | 424 | 19.4 | −6.2 |
| | Green | Jenny Vernon | 299 | 13.7 | +3.3 |
| | Independent | Andy Robinson | 219 | 10.0 | N/A |
| | Liberal Democrats | Martin Joinson | 185 | 8.5 | −2.1 |
| | Liberal Democrats | Richard Emmerson | 107 | 4.9 | −2.2 |
| Turnout | Turnout | Turnout | 2,181 | 29 | |
| | Labour hold | Labour hold | Labour hold | Labour hold | Labour hold |
| | Labour gain from Conservative | Labour gain from Conservative | Labour gain from Conservative | Labour gain from Conservative | Labour gain from Conservative |

### Frampton Cotterell

Frampton Cotterell (3 seats) :
| Party | Party | Candidate | Votes | % | ±% |
| | Liberal Democrats | Claire Young* | 2,556 | 57.4 | +4.1 |
| | Liberal Democrats | Tristan Clark* | 2,331 | 52.3 | +3.8 |
| | Liberal Democrats | Jon Lean* | 2,190 | 49.1 | +3.6 |
| | Conservative | Tom Howell | 1,664 | 37.3 | −1.7 |
| | Conservative | Tim Niblett | 1,615 | 36.2 | −0.1 |
| | Conservative | Andy Pullen | 1,592 | 35.7 | ±0.0 |
| | Green | Carolina Echegaray | 444 | 10.0 | N/A |
| | Labour | Roger Millard | 283 | 6.4 | −0.2 |
| | Labour | Jonathan Trollope | 247 | 5.5 | ±0.0 |
| Turnout | Turnout | Turnout | 4,456 | 43 | |
| | Liberal Democrats hold | Liberal Democrats hold | Liberal Democrats hold | Liberal Democrats hold | Liberal Democrats hold |
| | Liberal Democrats hold | Liberal Democrats hold | Liberal Democrats hold | Liberal Democrats hold | Liberal Democrats hold |
| | Liberal Democrats hold | Liberal Democrats hold | Liberal Democrats hold | Liberal Democrats hold | Liberal Democrats hold |

### Frenchay and Downend

Frenchay and Downend (3 seats) :
| Party | Party | Candidate | Votes | % | ±% |
| | Liberal Democrats | Raj Sood | 1,994 | 43.7 | +21.6 |
| | Conservative | Ben Burton* | 1,780 | 39.0 | −9.4 |
| | Conservative | Liz Brennan | 1,678 | 36.8 | −9.9 |
| | Liberal Democrats | David Eldridge | 1,673 | 36.6 | +20.4 |
| | Conservative | David Griffiths* | 1,622 | 35.5 | −8.1 |
| | Liberal Democrats | John Tansey | 1,487 | 32.6 | +17.5 |
| | Labour | Jacky Dockerty | 1,034 | 22.7 | −4.4 |
| | Labour | Mike Richards | 1,033 | 22.6 | −1.0 |
| | Labour | Andrew Smith | 858 | 18.8 | −3.2 |
| Turnout | Turnout | Turnout | 4,565 | 43 | |
| | Liberal Democrats gain from Conservative | Liberal Democrats gain from Conservative | Liberal Democrats gain from Conservative | Liberal Democrats gain from Conservative | Liberal Democrats gain from Conservative |
| | Conservative hold | Conservative hold | Conservative hold | Conservative hold | Conservative hold |
| | Conservative hold | Conservative hold | Conservative hold | Conservative hold | Conservative hold |

### Hanham

Hanham (3 seats) :
| Party | Party | Candidate | Votes | % | ±% |
| | Conservative | June Bamford* | 1,525 | 46.7 | −2.9 |
| | Conservative | Brenda Langley* | 1,455 | 44.5 | −2.3 |
| | Labour | April Begley | 1,336 | 40.9 | +17.1 |
| | Conservative | Matt Pitts | 1,314 | 40.2 | −2.8 |
| | Labour | Michael Newman | 1,195 | 36.6 | +12.9 |
| | Green | Kelly Allen | 651 | 19.9 | +0.1 |
| | Green | William Huddy | 543 | 16.6 | −3.0 |
| | Green | Daniel Johnston | 385 | 11.8 | −5.7 |
| | Liberal Democrats | John Gawn | 275 | 8.4 | +0.9 |
| | Liberal Democrats | Margaret Marshall | 254 | 7.8 | +0.4 |
| | Liberal Democrats | Patrick Thoyts | 172 | 5.3 | −1.3 |
| Turnout | Turnout | Turnout | 3,268 | 33 | |
| | Conservative hold | Conservative hold | Conservative hold | Conservative hold | Conservative hold |
| | Conservative hold | Conservative hold | Conservative hold | Conservative hold | Conservative hold |
| | Labour gain from Conservative | Labour gain from Conservative | Labour gain from Conservative | Labour gain from Conservative | Labour gain from Conservative |

### Kingswood

Kingswood (2 seats) :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Leigh Ingham | 901 | 57.6 | +9.2 |
| | Labour | Sean Rhodes | 848 | 54.3 | +12.5 |
| | Conservative | Ken Dando | 469 | 30.0 | −5.2 |
| | Conservative | Jayashri Krishnesh Chandar | 361 | 23.1 | −11.7 |
| | Liberal Democrats | Susan Hope | 202 | 12.9 | −3.2 |
| | Liberal Democrats | Mark Poarch | 193 | 12.3 | −2.6 |
| Turnout | Turnout | Turnout | 1,563 | 24 | |
| | Labour hold | Labour hold | Labour hold | Labour hold | Labour hold |
| | Labour hold | Labour hold | Labour hold | Labour hold | Labour hold |

### Longwell Green

Longwell Green (2 seats) :
| Party | Party | Candidate | Votes | % | ±% |
| | Conservative | Carol Strange | 1,442 | 56.3 | −5.3 |
| | Conservative | Kristopher Murphy | 1,170 | 45.7 | −8.9 |
| | Liberal Democrats | Edward Allinson | 906 | 35.4 | +22.2 |
| | Independent | Christine Price* | 626 | 24.4 | −37.2 |
| | Liberal Democrats | Crispin Allard | 621 | 24.2 | +12.5 |
| Turnout | Turnout | Turnout | 2,561 | 34 | |
| | Conservative hold | Conservative hold | Conservative hold | Conservative hold | Conservative hold |
| | Conservative hold | Conservative hold | Conservative hold | Conservative hold | Conservative hold |

### New Cheltenham

New Cheltenham (2 seats) :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Matt Palmer | 936 | 52.8 | +10.8 |
| | Labour | Sandie Davis* | 907 | 51.2 | +7.6 |
| | Conservative | Ian Adams | 664 | 37.5 | −3.6 |
| | Conservative | Gagan Singh | 546 | 30.8 | −6.9 |
| | Liberal Democrats | Ruth Davis | 204 | 11.5 | −1.0 |
| | Liberal Democrats | Richard Parkinson | 152 | 8.6 | −3.4 |
| Turnout | Turnout | Turnout | 1,773 | 27 | |
| | Labour hold | Labour hold | Labour hold | Labour hold | Labour hold |
| | Labour hold | Labour hold | Labour hold | Labour hold | Labour hold |

### Parkwall and Warmley

Parkwall and Warmley (2 seats) :
| Party | Party | Candidate | Votes | % | ±% |
| | Conservative | Liz Bromiley* | 914 | 48.0 | +1.1 |
| | Conservative | Sam Bromiley* | 890 | 46.7 | +3.5 |
| | Labour | Martin Farmer | 801 | 42.1 | +8.1 |
| | Labour | Kenneth Rabone | 699 | 36.7 | +6.3 |
| | Liberal Democrats | Philippa Marsden | 213 | 11.2 | +1.7 |
| | Liberal Democrats | Hossein Pirooz | 193 | 10.1 | +2.4 |
| Turnout | Turnout | Turnout | 1,904 | 27 | |
| | Conservative hold | Conservative hold | Conservative hold | Conservative hold | Conservative hold |
| | Conservative hold | Conservative hold | Conservative hold | Conservative hold | Conservative hold |

### Patchway Coniston

Patchway Coniston (1 seat) :
| Party | Party | Candidate | Votes | % | ±% |
| | Independent | Isobel Walker | 328 | 35.3 | N/A |
| | Labour | Dayley Lawrence | 323 | 34.8 | −1.6 |
| | Conservative | Simon Jones | 186 | 20.0 | −5.3 |
| | Green | Matthew Pash | 55 | 5.9 | N/A |
| | Liberal Democrats | Joanna Wallis | 37 | 4.0 | −8.8 |
| Majority | Majority | Majority | 5 | <1 | |
| Turnout | Turnout | Turnout | 929 | 24 | |
| | Independent gain from Labour | Independent gain from Labour | Independent gain from Labour | Independent gain from Labour | Independent gain from Labour |

### Pilning and Severn Beach

Pilning and Severn Beach (1 seat) :
| Party | Party | Candidate | Votes | % | ±% |
| | Liberal Democrats | Simon Johnson | 479 | 40.8 | +34.0 |
| | Conservative | Simon Begby | 447 | 38.1 | −3.6 |
| | Labour | Andy Segal | 247 | 21.1 | +3.3 |
| Majority | Majority | Majority | 32 | 2.7 | |
| Turnout | Turnout | Turnout | 1,173 | 32 | |
| | Liberal Democrats gain from Conservative | Liberal Democrats gain from Conservative | Liberal Democrats gain from Conservative | Liberal Democrats gain from Conservative | Liberal Democrats gain from Conservative |

### Severn Vale

Severn Vale (2 seats) :
| Party | Party | Candidate | Votes | % | ±% |
| | Liberal Democrats | Tony Williams | 1,537 | 46.4 | +14.9 |
| | Conservative | Matthew Riddle* | 1,528 | 46.1 | −8.5 |
| | Liberal Democrats | Mark Oaten | 1,435 | 43.3 | +11.9 |
| | Conservative | Keith Burchell* | 1,325 | 40.0 | −7.3 |
| | Labour | Abigail Curtis | 307 | 9.3 | +3.0 |
| | Labour | Naomi Carroll | 229 | 6.9 | +1.0 |
| Turnout | Turnout | Turnout | 3,314 | 44 | |
| | Liberal Democrats gain from Conservative | Liberal Democrats gain from Conservative | Liberal Democrats gain from Conservative | Liberal Democrats gain from Conservative | Liberal Democrats gain from Conservative |
| | Conservative hold | Conservative hold | Conservative hold | Conservative hold | Conservative hold |

### Staple Hill and Mangotsfield

Staple Hill and Mangotsfield (3 seats) :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Ian Boulton* | 2,331 | 70.5 | +12.1 |
| | Labour | Michael Bell* | 2,153 | 65.1 | +12.5 |
| | Labour | Katie Cooper* | 2,014 | 60.9 | +12.2 |
| | Conservative | Andy O'Hara | 789 | 23.9 | −8.2 |
| | Conservative | Andrew Shore | 604 | 18.3 | −10.5 |
| | Conservative | Anil Mishra | 556 | 16.8 | −8.0 |
| | Liberal Democrats | Andrew Daer | 337 | 10.2 | +0.1 |
| | Liberal Democrats | Brenda Allen | 228 | 6.9 | −3.1 |
| | Liberal Democrats | Gabrielle Davis | 222 | 6.7 | −3.2 |
| Turnout | Turnout | Turnout | 3,307 | 30 | |
| | Labour hold | Labour hold | Labour hold | Labour hold | Labour hold |
| | Labour hold | Labour hold | Labour hold | Labour hold | Labour hold |
| | Labour hold | Labour hold | Labour hold | Labour hold | Labour hold |

### Stoke Gifford

Stoke Gifford (3 seats) :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | David Addison | 1,530 | 40.6 | +12.0 |
| | Conservative | Keith Cranney* | 1,440 | 38.2 | −12.1 |
| | Conservative | Neel Das Gupta | 1,379 | 36.6 | −8.2 |
| | Labour | Brian Mead | 1,358 | 36.0 | +12.8 |
| | Conservative | Tony Griffiths | 1,349 | 35.8 | −4.8 |
| | Labour | Daniel Harris | 1,289 | 34.2 | +11.6 |
| | Liberal Democrats | John Williams | 927 | 24.6 | +5.2 |
| | Liberal Democrats | Kimberley Stansfield | 867 | 23.0 | +4.8 |
| | Liberal Democrats | Karl Tomasin | 693 | 18.4 | +0.7 |
| Turnout | Turnout | Turnout | 3,772 | 35 | |
| | Labour gain from Conservative | Labour gain from Conservative | Labour gain from Conservative | Labour gain from Conservative | Labour gain from Conservative |
| | Conservative hold | Conservative hold | Conservative hold | Conservative hold | Conservative hold |
| | Conservative hold | Conservative hold | Conservative hold | Conservative hold | Conservative hold |

### Stoke Park and Cheswick

Stoke Park and Cheswick (1 seat) :
| Party | Party | Candidate | Votes | % | ±% |
| | Liberal Democrats | Ayrden Pocock | 466 | 46.8 | −3.9 |
| | Labour | Ryan Coyle-Larner | 318 | 31.9 | +14.2 |
| | Conservative | Prasanna Ramarashnan | 212 | 21.3 | −10.3 |
| Majority | Majority | Majority | 148 | 14.9 | |
| Turnout | Turnout | Turnout | 996 | 31 | |
| | Liberal Democrats hold | Liberal Democrats hold | Swing | | |

### Thornbury

Thornbury (3 seats) :
| Party | Party | Candidate | Votes | % | ±% |
| | Liberal Democrats | Maggie Tyrrell* | 2,718 | 62.6 | −8.2 |
| | Liberal Democrats | Chris Davies | 2,682 | 61.8 | −9.1 |
| | Liberal Democrats | Jayne Stansfield* | 2,679 | 61.7 | −6.2 |
| | Green | Jen Gash | 1,020 | 23.5 | N/A |
| | Labour | Alasdair Weeks | 761 | 17.5 | N/A |
| | Conservative | Olivia Owusu-Antwi | 704 | 16.2 | −11.9 |
| | Conservative | Janet Buxton | 680 | 15.7 | −9.4 |
| | Conservative | John Buxton | 672 | 15.5 | −7.5 |
| Turnout | Turnout | Turnout | 4,342 | 40 | |
| | Liberal Democrats hold | Liberal Democrats hold | Liberal Democrats hold | Liberal Democrats hold | Liberal Democrats hold |
| | Liberal Democrats hold | Liberal Democrats hold | Liberal Democrats hold | Liberal Democrats hold | Liberal Democrats hold |
| | Liberal Democrats hold | Liberal Democrats hold | Liberal Democrats hold | Liberal Democrats hold | Liberal Democrats hold |

### Winterbourne

Winterbourne (2 seats) :
| Party | Party | Candidate | Votes | % | ±% |
| | Conservative | Nic Labuschagne* | 889 | 43.3 | −11.6 |
| | Conservative | Trevor Jones* | 819 | 39.9 | −10.3 |
| | Liberal Democrats | Peter Bruce | 678 | 33.0 | +4.6 |
| | Liberal Democrats | David Goodwin | 572 | 27.9 | +1.7 |
| | Labour | John Lloyd | 342 | 16.7 | −0.8 |
| | Labour | Beth McKinlay | 290 | 14.1 | −2.9 |
| | Green | Alan Lankester | 240 | 11.7 | N/A |
| | Green | David Vernon | 158 | 7.7 | N/A |
| Turnout | Turnout | Turnout | 2,052 | 37 | |
| | Conservative hold | Conservative hold | Conservative hold | Conservative hold | Conservative hold |
| | Conservative hold | Conservative hold | Conservative hold | Conservative hold | Conservative hold |

### Woodstock

Woodstock (2 seats) :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Alison Evans* | 1,039 | 56.0 | +11.4 |
| | Labour | Ian Scott | 928 | 50.1 | +5.2 |
| | Conservative | Jack Groenewald | 545 | 29.4 | −7.6 |
| | Conservative | Kamni Shambhu | 477 | 25.7 | −7.7 |
| | Liberal Democrats | Jim Corrigan | 335 | 18.1 | +1.1 |
| | Liberal Democrats | Tony Davis | 209 | 11.3 | −2.4 |
| Turnout | Turnout | Turnout | 1,854 | 25 | |
| | Labour hold | Labour hold | Labour hold | Labour hold | Labour hold |
| | Labour hold | Labour hold | Labour hold | Labour hold | Labour hold |

### Yate Central

Yate Central (2 seats) :
| Party | Party | Candidate | Votes | % | ±% |
| | Liberal Democrats | Sandra Emms | 1,269 | 63.3 | −2.8 |
| | Liberal Democrats | John Davis | 1,231 | 61.4 | −2.2 |
| | Conservative | Marian Gilpin | 584 | 29.1 | +3.4 |
| | Conservative | Joanne Lewis | 470 | 23.5 | −2.3 |
| | Green | Christopher Jackson | 266 | 13.3 | N/A |
| Turnout | Turnout | Turnout | 2,004 | 31 | |
| | Liberal Democrats hold | Liberal Democrats hold | Liberal Democrats hold | Liberal Democrats hold | Liberal Democrats hold |
| | Liberal Democrats hold | Liberal Democrats hold | Liberal Democrats hold | Liberal Democrats hold | Liberal Democrats hold |

### Yate North

Yate North (3 seats) :
| Party | Party | Candidate | Votes | % | ±% |
| | Liberal Democrats | Mike Drew* | 2,282 | 73.3 | +11.7 |
| | Liberal Democrats | Chris Willmore | 2,230 | 71.6 | +13.6 |
| | Liberal Democrats | Ben Nutland* | 2,228 | 71.5 | +14.2 |
| | Conservative | Sonia Williams | 759 | 24.4 | −6.7 |
| | Conservative | Matt Lewis | 734 | 23.6 | −6.8 |
| | Conservative | David Williams | 733 | 23.5 | −8.7 |
| Turnout | Turnout | Turnout | 3,115 | 32 | |
| | Liberal Democrats hold | Liberal Democrats hold | Liberal Democrats hold | Liberal Democrats hold | Liberal Democrats hold |
| | Liberal Democrats hold | Liberal Democrats hold | Liberal Democrats hold | Liberal Democrats hold | Liberal Democrats hold |
| | Liberal Democrats hold | Liberal Democrats hold | Liberal Democrats hold | Liberal Democrats hold | Liberal Democrats hold |

## Changes 2023–2027
### By-elections
#### New Cheltenham

New Cheltenham by-election, 2 May 2024 :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Angela Morey | 666 | 48.2 | |
| | Conservative | Kelly Cole | 418 | 30.2 | |
| | Green | AJ Coakham | 189 | 137 | |
| | Liberal Democrats | James Corrigan | 109 | 7.9 | |
| Majority | Majority | Majority | 258 | 18.0 | |
| Turnout | Turnout | Turnout | 1 ,399 | 20.7 | −6.3 |
| | Labour hold | Labour hold | Labour hold | Labour hold | Labour hold |
The New Cheltenham by-election was triggered by the resignation of Labour councillor Sandie Davis.

#### Frampton Cotterell

Frampton Cotterell by-election: 28 November 2024 :
| Party | Party | Candidate | Votes | % | ±% |
| | Liberal Democrats | David Goodwin | 1,315 | 49.3 | –2.4 |
| | Conservative | Tim Niblett | 1,114 | 41.7 | +8.1 |
| | Green | Alan Lankester | 160 | 6.0 | –3.0 |
| | Labour | Jonathan Trollope | 80 | 3.0 | –2.7 |
| Majority | Majority | Majority | 201 | 7.6 | N/A |
| Turnout | Turnout | Turnout | 2,677 | 25.5 | –17.5 |
| Registered electors | Registered electors | Registered electors | 10,516 | | |
| | Liberal Democrats hold | Liberal Democrats hold | Swing | 5.3 | |