South Gloucestershire
Every election cycle we have data for, most recent first.
Cycles
Council composition as of 2025
61 councillors, by party. One square per seat. Source: opencouncildata annual snapshot — reflects the council at the end of 2025 (after that year's elections, by-elections and defections). Hover any seat for the party.
Most recent election (2023)
In 2023, 61 seats were up across 28 wards. The table below shows what each party actually won — alongside what they would have won if the 61 seats had been shared in proportion to votes received (how, with caveats). The Δ column is the actual seat count minus the proportional seat count — positive numbers are parties First-Past-the-Post over-represented; negative are parties it under-represented.
| Party | Votes | Vote % | Seats won | % of seats | Proportional seats | Proportional % | Δ |
|---|---|---|---|---|---|---|---|
| Conservative Party | 58,239 | 35.9% | 23 | 37.7% | 23 | 37.7% | 0 |
| Liberal Democrats | 55,012 | 33.9% | 20 | 32.8% | 21 | 34.4% | -1 |
| Labour Party | 39,147 | 24.1% | 17 | 27.9% | 15 | 24.6% | +2 |
| Green Party | 6,847 | 4.2% | 0 | 0.0% | 2 | 3.3% | -2 |
| Independent | 2,346 | 1.4% | 1 | 1.6% | 0 | 0.0% | +1 |
| Reform UK | 329 | 0.2% | 0 | 0.0% | 0 | 0.0% | 0 |
| NHP | 228 | 0.1% | 0 | 0.0% | 0 | 0.0% | 0 |
| Total | 162,148 | 100.0% | 61 | 100.0% | 61 | 100.0% | 0 |
Vote share vs seats won
The top bar is each party's share of votes cast in this council. Below, one square per seat, coloured by the party that won it — first the actual First-Past-the-Post result, then what a proportional method would have produced from the same vote totals. Divergence between the bar and the actual grid is the indictment of the method.
Full ward-by-ward results for 2023 →
Composition history
One row per opencouncildata annual snapshot — the council at the end of each year (after that year's elections, by-elections and defections). Newest first; hover any seat for the party.
Ward by ward
Each row is a ward, each column a cycle. Each cell shows the top-of-poll candidate's party (swatch) and their share of valid ballots. Wards are matched by name across cycles — boundary reviews can mean a ward of the same name is a slightly different area in a later cycle.
| Ward | 2019 | 2023 |
|---|---|---|
| Bitton and Oldland Common | 49% | 45% |
| Boyd Valley | 56% | 52% |
| Bradley Stoke North | 42% | 41% |
| Bradley Stoke South | 44% | 47% |
| Charfield | 73% | 71% |
| Charlton and Cribbs | 42% | 46% |
| Chipping Sodbury and Cotswold Edge | 49% | 48% |
| Dodington | 71% | 71% |
| Emersons Green | 48% | 45% |
| Filton | 35% | 52% |
| Frampton Cotterell | 56% | 59% |
| Frenchay and Downend | 52% | 45% |
| Hanham | 52% | 50% |
| Kingswood | 51% | 61% |
| Longwell Green | 64% | 61% |
| New Cheltenham | 46% | 55% |
| Parkwall and Warmley | 51% | 49% |
| Patchway Coniston | 36% | 35% |
| Pilning and Severn Beach | 42% | 41% |
| Severn Vale | 58% | 48% |
| Staple Hill and Mangotsfield | 64% | 76% |
| Stoke Gifford | 49% | 42% |
| Stoke Park and Cheswick | 51% | 47% |
| Thornbury | 74% | 68% |
| Winterbourne | 57% | 45% |
| Woodstock | 47% | 59% |
| Yate Central | 67% | 66% |
| Yate North | 65% | 76% |