| ||||||||||||||||||||||||||||
All 60 seats to Westminster City Council 31 seats needed for a majority | ||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Turnout | 37.98% [1] | |||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||
2018 Westminster Borough Council election results map. Conservatives in blue and Labour in red. | ||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||
The 2018 Westminster City Council election was held on 3 May 2018, the same day as other London Boroughs. All 60 seats were up for election [2] along with the 12 seats of Queen's Park Community Council, the parish council in the north west of the city. Despite initial expectations of Labour gains across the borough, the Conservative party were able to hold the council and only lost three seats. [3] [4] The Conservatives won the popular vote across the borough by a small margin of 923 votes (1.7%), but nonetheless won a decisive victory in terms of seats, winning 41 councillors to Labour's 19.
The Conservatives, Labour and the Liberal Democrats all ran full slates of 60 candidates. There were also candidates from the Greens, as well as three from the Campaign Against Pedestrianisation of Oxford Street.
The count took place in Lindley Hall and ran overnight.
| Party | Seats | Gains | Losses | Net gain/loss | Seats % | Votes % | Votes | +/− | |
|---|---|---|---|---|---|---|---|---|---|
| Conservative | 41 | 1 | 4 | -3 | 68.3 | 42.8 | 22,656 | +1.8 | |
| Labour | 19 | 4 | 1 | +3 | 31.7 | 41.1 | 21,733 | +7.6 | |
| Liberal Democrats | 0 | 0 | 0 | 0 | 0.0 | 9.4 | 4,955 | +3.0 | |
| Green | 0 | 0 | 0 | 0 | 0.0 | 4.2 | 2,237 | -9.3 | |
| Independent | 0 | 0 | 0 | 0 | 0.0 | 0.3 | 164 | -1.4 | |
| Others | 0 | 0 | 0 | 0 | 0.0 | 2.2 | 1,137 | +2.2 | |
The percentage of vote share and majority are based on the average for each party's votes in each ward. The raw majority number is the margin of votes between the lowest-placed winning party candidate and the opposition party's highest-placed losing candidate. Starred candidates are the incumbents.
| Party | Candidate | Votes | % | ±% | |
|---|---|---|---|---|---|
| Conservative | Lindsey Hall * | 1,542 | 65.2 | +1.7 | |
| Conservative | Peter Freeman * | 1,503 | 63.6 | +1.6 | |
| Conservative | Judith Warner * | 1,480 | 62.6 | +0.5 | |
| Labour | Phillida Inman | 480 | 20.3 | −3.9 | |
| Labour | Sam Gardner | 479 | 20.3 | −1.0 | |
| Labour | Connor Jones | 402 | 17.0 | −0.9 | |
| Liberal Democrats | Helen Davies | 294 | 12.4 | +1.4 | |
| Green | Emmanuelle Tandy | 212 | 9.0 | −4.2 | |
| Liberal Democrats | Seth Weisz | 203 | 8.6 | N/A | |
| Liberal Democrats | Peter Toeman | 193 | 8.2 | N/A | |
| Majority | 1000 | 42.3 | |||
| Turnout | 6788 | 37.0 | +6.1 | ||
| Conservative hold | Swing | ||||
| Conservative hold | Swing | ||||
| Conservative hold | Swing | ||||
| Party | Candidate | Votes | % | ±% | |
|---|---|---|---|---|---|
| Labour | Maggie Carman | 1,018 | 39.6 | +16.2 | |
| Conservative | Francis Elcho | 1,013 | 39.4 | −5.2 | |
| Conservative | Emily Payne | 1,011 | 39.4 | ±0.0 | |
| Conservative | Richard Holloway * | 937 | 36.5 | −3.9 | |
| Labour | Dafydd Elis | 916 | 35.7 | +13.2 | |
| Labour | Max Sullivan | 851 | 33.1 | +13.0 | |
| Liberal Democrats | Phillip Kerle | 532 | 20.7 | −4.5 | |
| Liberal Democrats | Sarah Ryan | 509 | 19.8 | −4.2 | |
| Liberal Democrats | Patrick Ryan | 449 | 17.5 | −2.3 | |
| Green | Lionel Fry | 233 | 9.1 | −9.5 | |
| Majority | 74 | 2.9 | |||
| Turnout | 7469 | 39.7 | +9.3 | ||
| Labour gain from Conservative | Swing | ||||
| Conservative hold | Swing | ||||
| Conservative hold | Swing | ||||
| Party | Candidate | Votes | % | ±% | |
|---|---|---|---|---|---|
| Conservative | Richard Beddoe * | 1,137 | 51.8 | −6.0 | |
| Conservative | Barbara Arzymanow | 1,069 | 48.7 | −10.4 | |
| Conservative | Eoghain Murphy | 986 | 44.9 | −6.5 | |
| Labour | Rima Horton | 585 | 26.6 | +3.7 | |
| Labour | Mohamed Hammeda | 473 | 21.5 | +1.2 | |
| Labour | Neil Taylor | 455 | 20.7 | +1.6 | |
| Campaign Against Pedestrianisation of Oxford Street | Kevin Coyne | 452 | 20.6 | N/A | |
| Liberal Democrats | Nicola Browne | 351 | 16.0 | +2.0 | |
| Liberal Democrats | Thierry Serero | 280 | 12.8 | +1.0 | |
| Green | Michael Fry | 279 | 12.7 | −6.0 | |
| Liberal Democrats | Martin Thompson | 210 | 9.6 | N/A | |
| Majority | 401 | 18.3 | |||
| Turnout | 6277 | 39.7 | +3.3 | ||
| Conservative hold | Swing | ||||
| Conservative hold | Swing | ||||
| Conservative hold | Swing | ||||
Results are compared with the 2014 council election, not the 2015 by-election.
| Party | Candidate | Votes | % | ±% | |
|---|---|---|---|---|---|
| Labour | Aicha Less * | 1,796 | 73.5 | +5.1 | |
| Labour | Abdul Toki * | 1,739 | 71.1 | +12.0 | |
| Labour | Matt Noble | 1,727 | 70.6 | +11.7 | |
| Conservative | Margot Bright | 418 | 17.1 | −1.2 | |
| Conservative | Adam Dean | 381 | 15.6 | −0.9 | |
| Conservative | Rachid Boufas | 358 | 14.6 | −2.0 | |
| Green | David Blyth | 176 | 7.2 | −6.2 | |
| Liberal Democrats | Mathieu Primot | 121 | 4.9 | N/A | |
| Liberal Democrats | Rachel Jagger | 120 | 4.9 | N/A | |
| Liberal Democrats | Andrew Shaylor | 84 | 3.4 | N/A | |
| Majority | 1309 | 53.5 | |||
| Turnout | 6920 | 33.5 | −1.3 | ||
| Labour hold | Swing | ||||
| Labour hold | Swing | ||||
| Labour hold | Swing | ||||
Results are compared with the 2014 council election, not the 2016 by-election.
| Party | Candidate | Votes | % | ±% | |
|---|---|---|---|---|---|
| Labour | Shamim Talukder * | 1,303 | 44.6 | −2.0 | |
| Labour | Andrea Mann | 1,281 | 43.9 | −3.3 | |
| Conservative | Murad Gassanly * | 1,243 | 42.6 | −4.6 | |
| Labour | Jason Williams * | 1,234 | 42.2 | −1.4 | |
| Conservative | Shaista Miah | 1,208 | 41.4 | +0.9 | |
| Conservative | Bota Hopkinson | 1,182 | 40.5 | +1.5 | |
| Liberal Democrats | Richard Bath | 223 | 7.6 | +0.6 | |
| Liberal Democrats | Keith Dugmore | 198 | 6.8 | −0.2 | |
| Liberal Democrats | Omar Hegazi | 168 | 5.8 | N/A | |
| Independent | Muhammad Uddin | 164 | 5.6 | −4.4 | |
| Majority | 9 | 0.4 | |||
| Turnout | 8204 | 45.6 | +3.8 | ||
| Labour hold | Swing | ||||
| Labour hold | Swing | ||||
| Conservative gain from Labour | Swing | ||||
Murad Gassanly was elected in 2014 as a Labour Party candidate, before becoming an Independent and then joining the Conservative Party. The change in his share of the vote is shown from his result as a Labour candidate in 2014.
| Party | Candidate | Votes | % | ±% | |
|---|---|---|---|---|---|
| Labour | Ruth Bush * | 2,023 | 74.9 | +4.6 | |
| Labour | Guthrie McKie * | 1,804 | 66.8 | +8.1 | |
| Labour | Tim Roca * | 1,660 | 61.5 | +5.9 | |
| Conservative | Grazyna Green | 461 | 17.1 | −4.4 | |
| Conservative | Aled Rhys Jones | 414 | 15.3 | −0.7 | |
| Conservative | Thomas Weekenborg | 386 | 14.3 | +0.6 | |
| Green | Roc Sandford | 347 | 12.9 | −5.3 | |
| Liberal Democrats | Michael Griffin | 182 | 6.7 | N/A | |
| Liberal Democrats | Kevin Greenan | 179 | 6.6 | N/A | |
| Liberal Democrats | Dorothy Newman | 175 | 6.5 | N/A | |
| Majority | 1199 | 44.4 | |||
| Turnout | 7631 | 34.4 | +1.5 | ||
| Labour hold | Swing | ||||
| Labour hold | Swing | ||||
| Labour hold | Swing | ||||
Results are compared with the 2014 council election, not the 2015 by-election.
| Party | Candidate | Votes | % | ±% | |
|---|---|---|---|---|---|
| Conservative | Antonia Cox * | 1,104 | 52.0 | −6.8 | |
| Conservative | Ian Adams | 1,100 | 51.8 | +1.7 | |
| Conservative | Heather Acton * | 1,093 | 51.5 | −7.3 | |
| Labour | Barbara Hainsworth | 674 | 31.7 | +1.9 | |
| Labour | Judith Southern | 654 | 30.8 | +4.0 | |
| Labour | David Lumby | 598 | 28.2 | +6.0 | |
| Liberal Democrats | Sian Morgan | 263 | 12.4 | N/A | |
| Green | Alex Horn | 239 | 11.3 | −2.5 | |
| Liberal Democrats | Valentine Moscovici | 212 | 10.0 | N/A | |
| Liberal Democrats | Roy Yaghi | 201 | 9.5 | N/A | |
| Majority | 419 | 19.8 | |||
| Turnout | 6138 | 31.3 | +4.7 | ||
| Conservative hold | Swing | ||||
| Conservative hold | Swing | ||||
| Conservative hold | Swing | ||||
| Party | Candidate | Votes | % | ±% | |
|---|---|---|---|---|---|
| Conservative | Tony Devenish * | 1,176 | 79.4 | +4.5 | |
| Conservative | Elizabeth Hitchcock | 1,164 | 78.6 | +0.7 | |
| Conservative | Rachael Robathan * | 1,144 | 77.2 | +0.7 | |
| Liberal Democrats | Rosamund Durnford-Slater | 158 | 10.7 | N/A | |
| Labour | Marini Thorne | 153 | 10.3 | −2.2 | |
| Labour | Peter Heap | 152 | 10.3 | −0.1 | |
| Labour | James Thomson | 135 | 9.1 | +0.6 | |
| Liberal Democrats | Chas Foulds | 126 | 8.5 | N/A | |
| Liberal Democrats | Jonah Weisz | 93 | 6.3 | N/A | |
| Majority | 986 | 66.5 | |||
| Turnout | 4301 | 34.5 | +8.2 | ||
| Conservative hold | Swing | ||||
| Conservative hold | Swing | ||||
| Conservative hold | Swing | ||||
| Party | Candidate | Votes | % | ±% | |
|---|---|---|---|---|---|
| Conservative | Susie Burbridge * | 1,318 | 49.6 | −9.0 | |
| Conservative | Robert Davis * | 1,226 | 46.2 | −7.3 | |
| Conservative | Andrew Smith * | 1,223 | 46.1 | −5.1 | |
| Labour | Angela Piddock | 992 | 37.2 | +14.2 | |
| Labour | Liz Whitmore | 967 | 36.3 | +13.1 | |
| Labour | Simon Wyatt | 852 | 32.0 | +8.4 | |
| Liberal Democrats | Sue Baring | 456 | 17.1 | +2.5 | |
| Liberal Democrats | Sally Gray | 376 | 14.1 | N/A | |
| Liberal Democrats | Nathalie Ubilava | 321 | 12.0 | N/A | |
| Majority | 231 | 8.9 | |||
| Turnout | 7731 | 38.1 | +9.1 | ||
| Conservative hold | Swing | ||||
| Conservative hold | Swing | ||||
| Conservative hold | Swing | ||||
| Party | Candidate | Votes | % | ±% | |
|---|---|---|---|---|---|
| Conservative | Melvyn Caplan * | 1,479 | 50.4 | −1.0 | |
| Conservative | Lorraine Dean | 1,422 | 48.5 | −1.7 | |
| Conservative | Matthew Green | 1,354 | 46.1 | −4.1 | |
| Labour | Sue Wolff | 1,177 | 40.1 | +7.7 | |
| Labour | Iman Less | 1,148 | 39.1 | +7.4 | |
| Labour | Murad Qureshi | 1,127 | 38.4 | +7.4 | |
| Liberal Democrats | Marianne Magnin | 307 | 10.5 | +2.6 | |
| Liberal Democrats | Benjamin Hurdis | 275 | 9.4 | N/A | |
| Liberal Democrats | Roberto Ekholm | 264 | 9.0 | +1.7 | |
| Majority | 177 | 6.0 | |||
| Turnout | 8553 | 44.3 | +11.8 | ||
| Conservative hold | Swing | ||||
| Conservative hold | Swing | ||||
| Conservative hold | Swing | ||||
| Party | Candidate | Votes | % | ±% | |
|---|---|---|---|---|---|
| Labour | Geoff Barraclough | 1,306 | 47.9 | +11.6 | |
| Labour | Rita Begum * | 1,301 | 47.8 | +4.4 | |
| Labour | Nafsika Butler-Thalassis | 1,254 | 46.0 | +10.8 | |
| Conservative | Jan Prendergast * | 1,195 | 43.9 | −6.0 | |
| Conservative | Amanda Langford | 1,084 | 39.8 | −3.6 | |
| Conservative | Nathan Parsad | 1,079 | 39.6 | +2.8 | |
| Green | Lynnet Pready | 246 | 9.0 | −7.3 | |
| Liberal Democrats | Haude Polner | 202 | 7.4 | −4.4 | |
| Liberal Democrats | Michael Cox | 160 | 5.9 | N/A | |
| Liberal Democrats | Charles Goodman | 157 | 5.8 | N/A | |
| Majority | 59 | 2.1 | |||
| Turnout | 7984 | 40.8 | +5.0 | ||
| Labour gain from Conservative | Swing | ||||
| Labour hold | Swing | ||||
| Labour gain from Conservative | Swing | ||||
| Party | Candidate | Votes | % | ±% | |
|---|---|---|---|---|---|
| Conservative | Iain Bott * | 1,181 | 59.2 | −5.6 | |
| Conservative | Ian Rowley * | 1,147 | 57.5 | −4.4 | |
| Conservative | Karen Scarborough * | 1,101 | 55.2 | −2.9 | |
| Labour | Florence Kettle | 395 | 19.8 | +1.3 | |
| Labour | Barbara Johnston | 383 | 19.2 | +2.2 | |
| Labour | Cheyenne Angel | 381 | 19.1 | +4.2 | |
| Campaign Against Pedestrianisation of Oxford Street | Michael Dunn | 355 | 17.8 | N/A | |
| Liberal Democrats | Alistair Barr | 250 | 12.5 | +0.6 | |
| Liberal Democrats | Andrew Byrne | 229 | 11.5 | +1.7 | |
| Liberal Democrats | Stefan Nardi-Hiebl | 195 | 9.8 | +2.9 | |
| Green | Zack Polanski | 165 | 8.3 | −8.2 | |
| Majority | 706 | 35.4 | |||
| Turnout | 5782 | 34.7 | +5.9 | ||
| Conservative hold | Swing | ||||
| Conservative hold | Swing | ||||
| Conservative hold | Swing | ||||
| Party | Candidate | Votes | % | ±% | |
|---|---|---|---|---|---|
| Labour | Patricia McAllister * | 2,248 | 76.4 | +6.5 | |
| Labour | Paul Dimoldenberg * | 2,210 | 75.1 | +8.0 | |
| Labour | Hamza Taouzzale | 2,038 | 69.3 | +3.6 | |
| Conservative | Sarah Rick-Harris | 472 | 16.0 | −3.8 | |
| Conservative | Timothy Cohen | 418 | 14.2 | −0.5 | |
| Conservative | Laila Dupuy | 391 | 13.3 | −0.7 | |
| Liberal Democrats | Andrew New | 220 | 7.5 | N/A | |
| Liberal Democrats | Jane Smithard | 193 | 6.6 | N/A | |
| Liberal Democrats | Robert Cottrell | 191 | 6.5 | N/A | |
| Majority | 1566 | 53.3 | |||
| Turnout | 8381 | 36.2 | +0.8 | ||
| Labour hold | Swing | ||||
| Labour hold | Swing | ||||
| Labour hold | Swing | ||||
| Party | Candidate | Votes | % | ±% | |
|---|---|---|---|---|---|
| Conservative | Robert Rigby * | 1,445 | 52.7 | −0.2 | |
| Conservative | Gotz Mohindra * | 1,403 | 51.1 | +4.6 | |
| Conservative | Paul Swaddle | 1,394 | 50.8 | −3.4 | |
| Labour | Janet Seale | 1,004 | 36.6 | +0.9 | |
| Labour | Hussain Ahmed | 946 | 34.5 | +4.3 | |
| Labour | Liam Taggart | 945 | 34.4 | +4.6 | |
| Liberal Democrats | Kathryn Kerle | 236 | 8.6 | −1.2 | |
| Green | Vivien Lichtenstein | 204 | 7.4 | −7.1 | |
| Liberal Democrats | Julian Sims | 196 | 7.1 | N/A | |
| Liberal Democrats | Sam Peterson | 191 | 7.0 | N/A | |
| Majority | 390 | 14.2 | |||
| Turnout | 7964 | 40.3 | +9.1 | ||
| Conservative hold | Swing | ||||
| Conservative hold | Swing | ||||
| Conservative hold | Swing | ||||
| Party | Candidate | Votes | % | ±% | |
|---|---|---|---|---|---|
| Conservative | Mark Shearer | 1,398 | 52.5 | +7.9 | |
| Conservative | Louise Hyams * | 1,376 | 51.7 | +3.2 | |
| Conservative | Tim Mitchell * | 1,373 | 51.5 | +4.3 | |
| Labour | Georgina Newson | 854 | 32.1 | +4.5 | |
| Labour | Dorothy Edwin | 830 | 31.2 | +6.0 | |
| Labour | Zayna Ali | 815 | 30.6 | +8.4 | |
| Liberal Democrats | Gabrielle Ward-Smith | 321 | 12.0 | +1.4 | |
| Liberal Democrats | Paul Diggory | 311 | 11.7 | +2.1 | |
| Green | Sean Ironside | 235 | 8.8 | −6.8 | |
| Liberal Democrats | Freddie Poser | 232 | 8.7 | −0.2 | |
| Majority | 519 | 19.4 | |||
| Turnout | 7745 | 37.1 | +7.5 | ||
| Conservative hold | Swing | ||||
| Conservative hold | Swing | ||||
| Conservative hold | Swing | ||||
| Party | Candidate | Votes | % | ±% | |
|---|---|---|---|---|---|
| Conservative | Angela Harvey * | 1,409 | 52.1 | +2.5 | |
| Conservative | Jim Glen | 1,400 | 51.8 | +1.8 | |
| Conservative | James Spencer | 1,326 | 49.1 | −0.4 | |
| Labour | Gillian Arrindell | 1,051 | 38.9 | +13.2 | |
| Labour | Terry Harper | 1,008 | 37.3 | +13.0 | |
| Labour | William Thomson | 951 | 35.2 | +12.9 | |
| Liberal Democrats | Sarah Tebbit | 236 | 8.7 | −1.8 | |
| Liberal Democrats | Sophie Service | 210 | 7.8 | −1.3 | |
| Liberal Democrats | Paul Pettinger | 209 | 7.7 | +1.7 | |
| Majority | 275 | 10.2 | |||
| Turnout | 7800 | 47.3 | +9.9 | ||
| Conservative hold | Swing | ||||
| Conservative hold | Swing | ||||
| Conservative hold | Swing | ||||
| Party | Candidate | Votes | % | ±% | |
|---|---|---|---|---|---|
| Conservative | David Harvey * | 1,679 | 50.9 | −1.2 | |
| Conservative | Danny Chalkley * | 1,594 | 48.3 | −1.5 | |
| Conservative | Selina Short | 1,579 | 47.9 | −0.1 | |
| Labour | Justin Jones | 1,263 | 38.3 | +8.2 | |
| Labour | Henry Tufnell | 1,155 | 35.0 | +6.1 | |
| Labour | Ananthi Paskaralingam | 1,148 | 34.8 | +8.6 | |
| Green | Stephanie Landymore | 326 | 9.9 | −7.2 | |
| Liberal Democrats | Andrew Rogers | 271 | 8.2 | N/A | |
| Liberal Democrats | James Morgan | 265 | 8.0 | N/A | |
| Liberal Democrats | Russell Kirk | 247 | 7.5 | N/A | |
| Majority | 316 | 9.6 | |||
| Turnout | 9527 | 45.4 | +8.9 | ||
| Conservative hold | Swing | ||||
| Conservative hold | Swing | ||||
| Conservative hold | Swing | ||||
| Party | Candidate | Votes | % | ±% | |
|---|---|---|---|---|---|
| Conservative | Nickie Aiken * | 1,575 | 61.8 | +1.2 | |
| Conservative | Jacqui Wilkinson * | 1,473 | 57.8 | +1.3 | |
| Conservative | Christabel Flight * | 1,439 | 56.5 | +2.8 | |
| Labour | Shelly Asquith | 716 | 28.1 | +6.0 | |
| Labour | Bren Albiston | 692 | 27.1 | +7.8 | |
| Labour | Andrew Taylor | 648 | 25.4 | +6.2 | |
| Liberal Democrats | Stephanie Tyrer | 282 | 11.1 | +3.0 | |
| Liberal Democrats | Mark Platt | 248 | 9.7 | +2.6 | |
| Liberal Democrats | David Derrick | 244 | 9.6 | +1.9 | |
| CPA | Gabriela Palacios | 39 | 1.5 | N/A | |
| Majority | 723 | 28.4 | |||
| Turnout | 7356 | 40.6 | +5.2 | ||
| Conservative hold | Swing | ||||
| Conservative hold | Swing | ||||
| Conservative hold | Swing | ||||
Results are compared with the 2014 council election, not the 2015 by-election.
| Party | Candidate | Votes | % | ±% | |
|---|---|---|---|---|---|
| Conservative | Timothy Barnes | 990 | 43.2 | −11.7 | |
| Labour | Pancho Lewis | 984 | 42.9 | +18.7 | |
| Conservative | Jonathan Glanz * | 973 | 42.5 | −3.8 | |
| Labour | Patrick Lilley | 947 | 41.3 | +18.0 | |
| Labour | Caroline Saville | 927 | 40.4 | +19.4 | |
| Conservative | Hillary Su | 868 | 37.9 | −11.0 | |
| Campaign Against Pedestrianisation of Oxford Street | Ronald Whelan | 291 | 12.7 | N/A | |
| Green | Minne Fry | 188 | 8.2 | −8.3 | |
| Liberal Democrats | Sophie Taylor | 178 | 7.8 | ±0.0 | |
| Liberal Democrats | Florian Chevoppe-Verdier | 142 | 6.2 | N/A | |
| Liberal Democrats | Alan Ravenscroft | 127 | 5.5 | −2.6 | |
| Majority | 26 | 1.2 | |||
| Turnout | 6615 | 31.1 | +1.2 | ||
| Conservative hold | Swing | ||||
| Labour gain from Conservative | Swing | ||||
| Conservative hold | Swing | ||||
| Party | Candidate | Votes | % | ±% | |
|---|---|---|---|---|---|
| Labour | David Boothroyd * | 1,740 | 68.8 | +1.6 | |
| Labour | Adam Hug * | 1,710 | 67.6 | +1.2 | |
| Labour | Papya Qureshi * | 1,704 | 67.4 | +6.1 | |
| Conservative | Angus Wyatt | 421 | 16.7 | −1.8 | |
| Conservative | Thomas Davies | 412 | 16.3 | +0.5 | |
| Conservative | Theodore Roos | 385 | 15.2 | −0.4 | |
| Green | Holly Robinson | 219 | 8.7 | −6.2 | |
| Liberal Democrats | Mary Armstrong | 189 | 7.5 | N/A | |
| Liberal Democrats | Anthony Williams | 164 | 6.5 | N/A | |
| Liberal Democrats | Angelos-Stylianos Chryssogelos | 163 | 6.4 | N/A | |
| Majority | 1283 | 52.2 | +7.6 | ||
| Turnout | 7107 | 37.8 | +5.7 | ||
| Labour hold | Swing | ||||
| Labour hold | Swing | ||||
| Labour hold | Swing | ||||
| Party | Candidate | Votes | % | ±% | |
|---|---|---|---|---|---|
| Conservative | Margot Bright | 913 | 47.2 | −1.5 | |
| Labour | Angela Piddock | 684 | 35.4 | −1.0 | |
| Liberal Democrats | Sally Gray | 275 | 14.2 | −0.7 | |
| Green | Zack Polanski | 62 | 3.2 | +3.2 | |
| Majority | 229 | 11.8 | −0.5 | ||
| Turnout | 1,934 | 27.75 | −10.3 | ||
| Conservative hold | Swing | ||||
The by-election was called following the resignation of Cllr Robert Davis. [24]
| Party | Candidate | Votes | % | ±% | |
|---|---|---|---|---|---|
| Labour | Liza Begum | 1,340 | 45.6 | ||
| Conservative | Shaista Miah | 1,016 | 34.6 | ||
| Liberal Democrats | Vikas Aggarwal | 295 | 10.0 | ||
| Green | Zack Polanski | 186 | 6.3 | ||
| For Britain | Andrew Cavell | 99 | 3.4 | ||
| Majority | 324 | 11.0 | |||
| Turnout | 2,936 | ||||
| Labour hold | Swing | ||||
The by-election was called following the resignation of Cllr Andrea Mann. [27]