# 2024 Calderdale Metropolitan Borough Council election

The 2024 Calderdale Metropolitan Borough Council election was held on 2 May 2024, alongside the other local elections across the United Kingdom being held on the same day. The council remained under Labour majority control.

## Background

The Local Government Act 1972 created a two-tier system of metropolitan counties and districts covering Greater Manchester, Merseyside, South Yorkshire, Tyne and Wear, the West Midlands, and West Yorkshire starting in 1974. Calderdale was a district of the West Yorkshire metropolitan county. The Local Government Act 1985 abolished the metropolitan counties, with metropolitan districts taking on most of their powers as metropolitan boroughs. The West Yorkshire Combined Authority was established in 2014 and began electing the mayor of West Yorkshire in 2021.
Calderdale Council was under no overall control with Conservative, Liberal Democrat and Labour leaders until the Labour Party achieved a majority of seats in the 2019 election, when they gained four seats to hold 28 of the council's 51 seats. In the most recent election in 2023, seventeen seats were up for election. Labour won ten seats, the Conservatives won four seats, Liberal Democrats won two seats and the Greens won one seat.
Seats up for election in 2024 were last elected in 2021. These elections were originally scheduled for 2020, but were delayed by a year due to the COVID-19 pandemic. In that election, the Conservatives won nine seats, Labour won eight, and the Liberal Democrats won two. Labour retained its majority on the council at this election.

## Electoral process

The council elects its councillors in thirds, with a third being up for election for three consecutive years and no election in the fourth year. The election used first-past-the-post voting, with wards generally being represented by three councillors, with one elected in each election year to serve a four-year term.
All registered electors (British, Irish, Commonwealth and European Union citizens) living in Calderdale aged 18 or over were entitled to vote in the election. People who live at two addresses in different councils, such as university students with different term-time and holiday addresses, are entitled to be registered for and vote in elections in both local authorities. Voting in-person at polling stations took place from 07:00 to 22:00 on election day, and voters were able to apply for postal votes or proxy votes in advance of the election.

## Council results

* Turnout: 52,112
* Electorate: 151,597
2024 Calderdale Metropolitan Borough Council election :
| Party | Party | This election | This election | This election | Full council | Full council | Full council | This election | This election | This election |
| Party | Party | Seats | Net | Seats % | Other | Total | Total % | Votes | Votes % | +/− |
| | Labour | 10 | 2 | 58.8 | 20 | 29 | 56.9 | 21,418 | 41.1 | +3.8 |
| | Conservative | 3 | 4 | 17.6 | 5 | 11 | 21.6 | 13,585 | 26.1 | -12.9 |
| | Liberal Democrats | 2 | | 11.8 | 4 | 6 | 11.8 | 5,556 | 10.7 | -0.6 |
| | Independent | 0 | | 0.0 | 1 | 1 | 2.0 | 835 | 1.6 | -1.7 |
| | Green | 1 | 1 | 5.9 | 2 | 3 | 5.9 | 8,311 | 16.0 | +7.7 |
| | Workers Party | 1 | 1 | 5.9 | 0 | 1 | 2.0 | 1,643 | 3.2 | New |
| | Freedom Alliance | 0 | | 0.0 | 0 | 0 | 0.0 | 139 | 0.3 | +0.2 |

## Council composition

Prior to the election the composition of the council was:
| 27 | 14 | 6 | 2 | 1 | 1 |
| Labour | Conservative | Lib Dem | Green | Ind | Vac |
After the election the composition of the council was:
| 29 | 11 | 6 | 3 | 1 | 1 |
| Labour | Conservative | Lib Dem | Green | Ind | WPB |
| After 2023 election | After 2023 election | After 2023 election | Before 2024 election | Before 2024 election | Before 2024 election | After 2024 election | After 2024 election | After 2024 election |
| Party | Party | Seats | Party | Party | Seats | Party | Party | Seats |
| | Labour | 28 | | Labour | 27 | | Labour | 29 |
| | Conservative | 15 | | Conservative | 14 | | Conservative | 11 |
| | Liberal Democrats | 6 | | Liberal Democrats | 6 | | Liberal Democrats | 6 |
| | Green | 2 | | Green | 2 | | Green | 3 |
| | Independent | 0 | | Independent & vacant | 2 | | Independent & other | 2 |
Changes between 2023 & 2024:
* November 2023: Guy Beech (Conservative, Illingworth & Mixenden) resigned; seat remained vacant until the May 2024 elections.
* February 2024: Rahat Khan (Labour, Park) resigned from the Labour Party and sits as an independent.

## Ward results

Incumbent councillors are marked with an asterisk.

### Brighouse

Brighouse (1) :
| Party | Party | Candidate | Votes | % | ±% |
| | Conservative | Geraldine Carter | 1,163 | 40.8 | −10.9 |
| | Labour | Frank Darnley | 1,078 | 37.8 | +9.5 |
| | Green | Kim Atkinson | 445 | 15.6 | +5.6 |
| | Liberal Democrats | Jennie Rigg | 126 | 4.4 | +0.9 |
| Majority | Majority | Majority | 85 | 3.0 | −13.7 |
| Rejected ballots | Rejected ballots | Rejected ballots | 40 | 1.4 | |
| Turnout | Turnout | Turnout | 2,852 | 34.6 | −10.7 |
| Registered electors | Registered electors | Registered electors | 8,249 | | |
| | Conservative hold | Conservative hold | Swing | 10.2 | |

### Calder

Calder (1) :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour Co-op | Josh Fenton-Glynn* | 3,008 | 67.0 | +1.0 |
| | Green | Mark Stanley | 638 | 14.2 | +4.9 |
| | Conservative | Christopher Lee | 574 | 12.8 | −5.4 |
| | Liberal Democrats | Chris Wadsworth | 222 | 4.9 | +0.6 |
| Majority | Majority | Majority | 2,370 | 52.7 | +4.9 |
| Rejected ballots | Rejected ballots | Rejected ballots | 53 | 1.2 | |
| Turnout | Turnout | Turnout | 4,495 | 48.7 | −6.7 |
| Registered electors | Registered electors | Registered electors | 9,239 | | |
| | Labour hold | Labour hold | Swing | 1.95 | |

### Elland

Elland (1) :
| Party | Party | Candidate | Votes | % | ±% |
| | Conservative | Peter Hunt | 786 | 30.9 | −5.8 |
| | Labour | Khuram Majid | 700 | 27.5 | −7.3 |
| | Liberal Democrats | Richard Phillips | 574 | 22.5 | +1.3 |
| | Green | Barry Crossland | 446 | 17.5 | +10.8 |
| Majority | Majority | Majority | 86 | 3.4 | +1.5 |
| Rejected ballots | Rejected ballots | Rejected ballots | 40 | 1.6 | |
| Turnout | Turnout | Turnout | 2,546 | 28.7 | −9.2 |
| Registered electors | Registered electors | Registered electors | 8,878 | | |
| | Conservative hold | Conservative hold | Swing | 0.75 | |

### Greetland and Stainland

Greetland and Stainland (1) :
| Party | Party | Candidate | Votes | % | ±% |
| | Liberal Democrats | Paul Bellenger* | 1,526 | 50.6 | −8.2 |
| | Conservative | Alex Greenwood | 806 | 26.7 | −6.4 |
| | Labour | Mark Pitkethly | 420 | 13.9 | −0.2 |
| | Green | Jacquelyn Haigh | 240 | 8.0 | −1.6 |
| Majority | Majority | Majority | 720 | 23.9 | +23.2 |
| Rejected ballots | Rejected ballots | Rejected ballots | 26 | 0.9 | |
| Turnout | Turnout | Turnout | 3,018 | 35.5 | −16.9 |
| Registered electors | Registered electors | Registered electors | 8,503 | | |
| | Liberal Democrats hold | Liberal Democrats hold | Swing | 0.9 | |

### Hipperholme and Lightcliffe

Hipperholme and Lightcliffe (1) :
| Party | Party | Candidate | Votes | % | ±% |
| | Conservative | George Robinson* | 1,846 | 57.0 | −10.5 |
| | Labour | Sam Ackroyd | 934 | 28.8 | +5.9 |
| | Green | Catherine Graham | 299 | 9.2 | +2.5 |
| | Liberal Democrats | Nikki Stocks | 122 | 3.8 | +1.5 |
| Majority | Majority | Majority | 912 | 28.2 | −16.4 |
| Rejected ballots | Rejected ballots | Rejected ballots | 37 | 1.2 | |
| Turnout | Turnout | Turnout | 3,238 | 35.2 | −8.6 |
| Registered electors | Registered electors | Registered electors | 9,208 | | |
| | Conservative hold | Conservative hold | Swing | 8.2 | |

### Ilingworth and Mixenden

Illingworth and Mixenden (1) :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Shane Taylor | 1,168 | 49.5 | +10.3 |
| | Conservative | Stephen Padgett | 640 | 27.1 | −15.3 |
| | Green | Laura Beesley | 169 | 7.2 | +4.1 |
| | Independent | Seán Loftus | 143 | 6.1 | +4.4 |
| | Independent | Sara Gaunt | 135 | 5.7 | New |
| | Liberal Democrats | Nicholas Proctor | 79 | 3.3 | +1.7 |
| Majority | Majority | Majority | 528 | 22.4 | 19.2 |
| Rejected ballots | Rejected ballots | Rejected ballots | 25 | 1.1 | |
| Turnout | Turnout | Turnout | 2,359 | 25.3 | −6.6 |
| Registered electors | Registered electors | Registered electors | 9,319 | | |
| | Labour gain from Conservative | Labour gain from Conservative | Swing | 12.8 | |

### Luddendenfoot

Luddendenfoot (1) :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Jane Scullion* | 1,862 | 57.7 | +12.1 |
| | Conservative | Jill Smith-Moorhouse | 731 | 22.6 | −13.2 |
| | Liberal Democrats | Christine Bampton-Smith | 307 | 9.5 | −0.3 |
| | Green | Kate Sweeny | 295 | 9.1 | +0.9 |
| Majority | Majority | Majority | 1,131 | 35.0 | +25.3 |
| Rejected ballots | Rejected ballots | Rejected ballots | 33 | 1.0 | |
| Turnout | Turnout | Turnout | 3,228 | 40.5 | −7.1 |
| Registered electors | Registered electors | Registered electors | 7,965 | | |
| | Labour hold | Labour hold | Swing | 12.65 | |

### Northowram and Shelf

Northowram and Shelf (1) :
| Party | Party | Candidate | Votes | % | ±% |
| | Green | Elaine Hey | 2,275 | 67.6 | +43.7 |
| | Conservative | John Vaughan | 737 | 21.9 | −36.2 |
| | Labour | Allen Slingsby | 327 | 9.7 | −6.1 |
| Majority | Majority | Majority | 1,538 | 45.7 | +11.5 |
| Rejected ballots | Rejected ballots | Rejected ballots | 28 | 0.8 | |
| Turnout | Turnout | Turnout | 3,367 | 37.0 | −4.4 |
| Registered electors | Registered electors | Registered electors | 9,106 | | |
| | Green gain from Conservative | Green gain from Conservative | Swing | 39.95 | |

### Ovenden

Ovenden (1) :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour Co-op | Danielle Durrans* | 919 | 55.3 | +10.1 |
| | Conservative | Anne Baines | 358 | 21.5 | −15.9 |
| | Liberal Democrats | Sean Bamforth | 188 | 11.3 | |
| | Green | Finn Jensen | 166 | 9.9 | +4.6 |
| Majority | Majority | Majority | 561 | 33.7 | +25.9 |
| Rejected ballots | Rejected ballots | Rejected ballots | 32 | 1.92 | |
| Turnout | Turnout | Turnout | 1,663 | 19.7 | −5.9 |
| Registered electors | Registered electors | Registered electors | 8,422 | | |
| | Labour hold | Labour hold | Swing | 13.0 | |

### Park

Park (1) :
| Party | Party | Candidate | Votes | % | ±% |
| | Workers Party | Shakir Saghir | 1,643 | 43.9 | New |
| | Green | Sabir Hussain | 953 | 25.4 | +22.2 |
| | Labour | Sadia Zaman | 758 | 20.2 | −40.4 |
| | Liberal Democrats | Samuel Jackson | 190 | 5.1 | +2.5 |
| | Conservative | Naveed Khan | 164 | 4.4 | −28.7 |
| Majority | Majority | Majority | 690 | 18.4 | −9.1 |
| Rejected ballots | Rejected ballots | Rejected ballots | 38 | 1.0 | |
| Turnout | Turnout | Turnout | 3,746 | 39.1 | −2.3 |
| Registered electors | Registered electors | Registered electors | 9,576 | | |
| | Workers Party gain from Labour | Workers Party gain from Labour | Swing | 9.25 | |

### Rastrick

Rastrick (1) :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour Co-op | Alan Judge | 1,317 | 45.4 | +15.6 |
| | Conservative | Joseph Matthews | 1,151 | 39.6 | −18.6 |
| | Green | Andrew Bramley | 237 | 8.2 | −0.8 |
| | Liberal Democrats | Bernardette Stancliffe | 165 | 5.7 | +3.2 |
| Majority | Majority | Majority | 166 | 5.7 | −22.7 |
| Rejected ballots | Rejected ballots | Rejected ballots | 34 | 1.2 | |
| Turnout | Turnout | Turnout | 2,904 | 35.0 | −8.4 |
| Registered electors | Registered electors | Registered electors | 8,300 | | |
| | Labour gain from Conservative | Labour gain from Conservative | Swing | 17.1 | |

### Ryburn

Ryburn (1) :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Leah Webster | 1,554 | 48.2 | +27.2 |
| | Conservative | Robert Thornber* | 1,270 | 39.4 | −7.7 |
| | Green | Cordelia Prescott | 197 | 6.1 | +0.6 |
| | Liberal Democrats | Rosemary Tatchell | 165 | 5.1 | +2.6 |
| Majority | Majority | Majority | 284 | 8.8 | −15.9 |
| Rejected ballots | Rejected ballots | Rejected ballots | 41 | 1.27 | |
| Turnout | Turnout | Turnout | 3,227 | 36.0 | −6.2 |
| Registered electors | Registered electors | Registered electors | 8,962 | | |
| | Labour gain from Conservative | Labour gain from Conservative | Swing | 17.45 | |

### Skircoat

Skircoat (1) :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour Co-op | Ann Kingstone* | 1,932 | 51.1 | +1.8 |
| | Conservative | Oliver Gibson | 950 | 25.1 | −10.0 |
| | Green | Robert Orange | 558 | 14.8 | −3.9 |
| | Liberal Democrats | Michael Holdsworth | 309 | 8.2 | +2.0 |
| Majority | Majority | Majority | 982 | 26.0 | +11.8 |
| Rejected ballots | Rejected ballots | Rejected ballots | 34 | 0.9 | |
| Turnout | Turnout | Turnout | 3,783 | 39.1 | −6.1 |
| Registered electors | Registered electors | Registered electors | 9,685 | | |
| | Labour hold | Labour hold | Swing | 5.9 | |

### Sowerby Bridge

Sowerby Bridge (1) :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Adam Wilkinson* | 1,702 | 58.5 | +6.2 |
| | Conservative | Mark Edwards | 695 | 23.9 | −12.9 |
| | Green | David Booth | 295 | 10.1 | +3.2 |
| | Liberal Democrats | Diana Harris | 167 | 5.7 | +2.5 |
| Majority | Majority | Majority | 1,007 | 34.6 | +19.2 |
| Rejected ballots | Rejected ballots | Rejected ballots | 50 | 1.7 | |
| Turnout | Turnout | Turnout | 2,909 | 33.0 | −6.5 |
| Registered electors | Registered electors | Registered electors | 8,820 | | |
| | Labour hold | Labour hold | Swing | 9.55 | |

### Todmorden

Todmorden (1) :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour Co-op | Diana Tremayne* | 1,919 | 60.9 | +9.4 |
| | Conservative | Brian Carter | 525 | 16.7 | −5.0 |
| | Green | Kieran Turner | 495 | 15.7 | +6.2 |
| | Liberal Democrats | Abdul Kye | 160 | 5.1 | −9.5 |
| Majority | Majority | Majority | 1,394 | 44.2 | +14.5 |
| Rejected ballots | Rejected ballots | Rejected ballots | 52 | 1.7 | |
| Turnout | Turnout | Turnout | 3,151 | 35.1 | −6.5 |
| Registered electors | Registered electors | Registered electors | 8,983 | | |
| | Labour hold | Labour hold | Swing | 7.2 | |

### Town

Town (1) :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour Co-op | Kelly Thornham | 1,160 | 47.0 | −2.7 |
| | Conservative | Vishal Gupta | 839 | 34.0 | +1.1 |
| | Green | Elliot Hey | 329 | 13.3 | +1.9 |
| | Liberal Democrats | Garry Prashad | 103 | 4.2 | −0.9 |
| Majority | Majority | Majority | 321 | 13.0 | −3.8 |
| Rejected ballots | Rejected ballots | Rejected ballots | 36 | 1.5 | |
| Turnout | Turnout | Turnout | 2,467 | 26.9 | −4.0 |
| Registered electors | Registered electors | Registered electors | 9,173 | | |
| | Labour hold | Labour hold | Swing | 1.9 | |

### Warley

Warley (1) :
| Party | Party | Candidate | Votes | % | ±% |
| | Liberal Democrats | Ashley Evans* | 1,153 | 36.5 | −5.7 |
| | Labour | Ben Jancovich | 660 | 20.9 | −10.4 |
| | Independent | Sohail Ashfaq | 557 | 17.6 | New |
| | Conservative | Stephen Baines | 350 | 11.1 | −9.9 |
| | Green | Katie Witham | 274 | 8.7 | +3.8 |
| | Freedom Alliance | Martin Davies | 139 | 4.4 | New |
| Majority | Majority | Majority | 493 | 15.6 | +4.7 |
| Rejected ballots | Rejected ballots | Rejected ballots | 26 | 0.8 | |
| Turnout | Turnout | Turnout | 3,159 | 34.3 | −4.7 |
| Registered electors | Registered electors | Registered electors | 9,209 | | |
| | Liberal Democrats hold | Liberal Democrats hold | Swing | 2.35 | |

## Changes 2024-2026
### By-elections
#### Calder

Calder by-election: 24 October 2024 :
| Party | Party | Candidate | Votes | % | ±% |
| | Labour | Jonathan Timbers | 1,009 | 36.3 | –30.7 |
| | Green | Kieran Turner | 784 | 28.2 | +14.0 |
| | Liberal Democrats | Chris Wadsworth | 407 | 14.6 | +9.7 |
| | Independent | Scott Borrows | 316 | 11.4 | N/A |
| | Conservative | Brian Carter | 251 | 9.0 | –3.8 |
| | SDP | Jim McNeill | 12 | 0.4 | N/A |
| Majority | Majority | Majority | 225 | 8.1 | –44.6 |
| Turnout | Turnout | Turnout | 2,779 | 29.3 | –19.4 |
| | Labour hold | Labour hold | Swing | 22.4 | |