English local election
The 2024 St Albans City and District Council election took place on 2 May 2024 to elect members of St Albans City and District Council in Hertfordshire, England. This was on the same day as other local elections across England.
There were 21 members of the council up for election, being the usual approximate third of the council plus three by-elections. The council remained under Liberal Democrat majority control.
Summary.
Prior to the election, the council was under Liberal Democrat majority control. The leader of the council, Chris White, did not stand for re-election in 2024.
Following the election, the Liberal Democrats retained their majority. They chose Paul De Kort to be their new group leader, who was formally appointed as the new leader of the council at the subsequent annual council meeting on 22 May 2024.
Election result.
! colspan="11" style="font-weight: bold;" | 2024 St Albans City and District Council election
! colspan="2" rowspan="2" style="width: 190px" | Party
! colspan="3" | This election
! colspan="3" | Full council
! colspan="3" | This election
! style="width: 30px" | Seats
! style="width: 30px" | Net
! style="width: 30px" | Seats %
! style="width: 30px" | Other
! style="width: 30px" | Total
! style="width: 30px" | Total %
! style="width: 30px" | Votes
! style="width: 30px" | Votes %
! style="width: 40px" | +/−
! style="width: 3px; background-color: ;" |  
! style="width: 3px; background-color: ;" |  
! style="width: 3px; background-color: ;" |  
! style="width: 3px; background-color: ;" |  
! style="width: 3px; background-color: ;" |  
! style="width: 3px; background-color: ;" |  
! style="width: 3px; background-color: ;" |  
Ward results.
The Statement of Persons Nominated, which details the candidates standing in each ward, was released by St Albans City and District Council following the close of nominations on 5 April 2024.
Batchwood.
! scope="col" colspan="2" style="width: 130px"|Party
! scope="col" style="width: 17em"|Candidate
! scope="col" style="width: 5em"|Votes
! scope="col" style="width: 3.5em"|%
! scope="col" style="width: 3.5em"| ;templatestyles src="Template:Tooltip/styles.css" / ;±%
 |- class="vcard"
 |- class="vcard"
 |- class="vcard"
 |- class="vcard"
 |- class="vcard"
 |- class="vcard"
! colspan="3" style="text-align: right; margin-right: 0.5em" | Majority
! colspan="3" style="text-align: right; margin-right: 0.5em" scope=row | Turnout
! colspan="3" style="text-align:right;" scope=row | Registered electors
! style="text-align:right;" | Swing
! style="text-align:right;" | Swing
Bernards Heath.
! scope="col" colspan="2" style="width: 130px"|Party
! scope="col" style="width: 17em"|Candidate
! scope="col" style="width: 5em"|Votes
! scope="col" style="width: 3.5em"|%
! scope="col" style="width: 3.5em"| ;templatestyles src="Template:Tooltip/styles.css" / ;±%
 |- class="vcard"
 |- class="vcard"
 |- class="vcard"
! colspan="3" style="text-align: right; margin-right: 0.5em" | Majority
! colspan="3" style="text-align: right; margin-right: 0.5em" scope=row | Turnout
! colspan="3" style="text-align:right;" scope=row | Registered electors
! style="text-align:right;" | Swing
Clarence.
! scope="col" colspan="2" style="width: 130px"|Party
! scope="col" style="width: 17em"|Candidate
! scope="col" style="width: 5em"|Votes
! scope="col" style="width: 3.5em"|%
! scope="col" style="width: 3.5em"| ;templatestyles src="Template:Tooltip/styles.css" / ;±%
 |- class="vcard"
 |- class="vcard"
! colspan="3" style="text-align: right; margin-right: 0.5em" | Majority
! colspan="3" style="text-align: right; margin-right: 0.5em" scope=row | Turnout
! colspan="3" style="text-align:right;" scope=row | Registered electors
! style="text-align:right;" | Swing
Cunningham.
! scope="col" colspan="2" style="width: 130px"|Party
! scope="col" style="width: 17em"|Candidate
! scope="col" style="width: 5em"|Votes
! scope="col" style="width: 3.5em"|%
! scope="col" style="width: 3.5em"| ;templatestyles src="Template:Tooltip/styles.css" / ;±%
 |- class="vcard"
 |- class="vcard"
 |- class="vcard"
! colspan="3" style="text-align: right; margin-right: 0.5em" | Majority
! colspan="3" style="text-align: right; margin-right: 0.5em" scope=row | Turnout
! colspan="3" style="text-align:right;" scope=row | Registered electors
! style="text-align:right;" | Swing
Harpenden East.
! scope="col" colspan="2" style="width: 130px"|Party
! scope="col" style="width: 17em"|Candidate
! scope="col" style="width: 5em"|Votes
! scope="col" style="width: 3.5em"|%
! scope="col" style="width: 3.5em"| ;templatestyles src="Template:Tooltip/styles.css" / ;±%
 |- class="vcard"
 |- class="vcard"
 |- class="vcard"
! colspan="3" style="text-align: right; margin-right: 0.5em" | Majority
! colspan="3" style="text-align: right; margin-right: 0.5em" scope=row | Turnout
! colspan="3" style="text-align:right;" scope=row | Registered electors
! style="text-align:right;" | Swing
Harpenden North &amp; Rural.
! scope="col" colspan="2" style="width: 130px"|Party
! scope="col" style="width: 17em"|Candidate
! scope="col" style="width: 5em"|Votes
! scope="col" style="width: 3.5em"|%
! scope="col" style="width: 3.5em"| ;templatestyles src="Template:Tooltip/styles.css" / ;±%
 |- class="vcard"
 |- class="vcard"
 |- class="vcard"
! colspan="3" style="text-align: right; margin-right: 0.5em" | Majority
! colspan="3" style="text-align: right; margin-right: 0.5em" scope=row | Turnout
! colspan="3" style="text-align:right;" scope=row | Registered electors
! style="text-align:right;" | Swing
Harpenden South.
! scope="col" colspan="2" style="width: 130px"|Party
! scope="col" style="width: 17em"|Candidate
! scope="col" style="width: 5em"|Votes
! scope="col" style="width: 3.5em"|%
! scope="col" style="width: 3.5em"| ;templatestyles src="Template:Tooltip/styles.css" / ;±%
 |- class="vcard"
 |- class="vcard"
 
! colspan="3" style="text-align: right; margin-right: 0.5em" | Majority
! colspan="3" style="text-align: right; margin-right: 0.5em" scope=row | Turnout
! colspan="3" style="text-align:right;" scope=row | Registered electors
! style="text-align:right;" | Swing
Harpenden West.
! scope="col" colspan="2" style="width: 130px"|Party
! scope="col" style="width: 17em"|Candidate
! scope="col" style="width: 5em"|Votes
! scope="col" style="width: 3.5em"|%
! scope="col" style="width: 3.5em"| ;templatestyles src="Template:Tooltip/styles.css" / ;±%
 |- class="vcard"
 |- class="vcard"
 |- class="vcard"
! colspan="3" style="text-align: right; margin-right: 0.5em" | Majority
! colspan="3" style="text-align: right; margin-right: 0.5em" scope=row | Turnout
! colspan="3" style="text-align:right;" scope=row | Registered electors
! style="text-align:right;" | Swing
London Colney.
! scope="col" colspan="2" style="width: 130px"|Party
! scope="col" style="width: 17em"|Candidate
! scope="col" style="width: 5em"|Votes
! scope="col" style="width: 3.5em"|%
! scope="col" style="width: 3.5em"| ;templatestyles src="Template:Tooltip/styles.css" / ;±%
 |- class="vcard"
 |- class="vcard"
 |- class="vcard"
 |- class="vcard"
 |- class="vcard"
 |- class="vcard"
! colspan="3" style="text-align: right; margin-right: 0.5em" scope=row | Turnout
! colspan="3" style="text-align:right;" scope=row | Registered electors
! style="text-align:right;" | Swing
! style="text-align:right;" | Swing
Hill End.
! scope="col" colspan="2" style="width: 130px"|Party
! scope="col" style="width: 17em"|Candidate
! scope="col" style="width: 5em"|Votes
! scope="col" style="width: 3.5em"|%
! scope="col" style="width: 3.5em"| ;templatestyles src="Template:Tooltip/styles.css" / ;±%
 |- class="vcard"
 |- class="vcard"
! colspan="3" style="text-align: right; margin-right: 0.5em" | Majority
! colspan="3" style="text-align: right; margin-right: 0.5em" scope=row | Turnout
! colspan="3" style="text-align:right;" scope=row | Registered electors
! style="text-align:right;" | Swing
Marshalswick East &amp; Jersey Farm.
! scope="col" colspan="2" style="width: 130px"|Party
! scope="col" style="width: 17em"|Candidate
! scope="col" style="width: 5em"|Votes
! scope="col" style="width: 3.5em"|%
! scope="col" style="width: 3.5em"| ;templatestyles src="Template:Tooltip/styles.css" / ;±%
 |- class="vcard"
 |- class="vcard"
 |- class="vcard"
! colspan="3" style="text-align: right; margin-right: 0.5em" | Majority
! colspan="3" style="text-align: right; margin-right: 0.5em" scope=row | Turnout
! colspan="3" style="text-align:right;" scope=row | Registered electors
! style="text-align:right;" | Swing
Marshalswick West.
! scope="col" colspan="2" style="width: 130px"|Party
! scope="col" style="width: 17em"|Candidate
! scope="col" style="width: 5em"|Votes
! scope="col" style="width: 3.5em"|%
! scope="col" style="width: 3.5em"| ;templatestyles src="Template:Tooltip/styles.css" / ;±%
 |- class="vcard"
 |- class="vcard"
 |- class="vcard"
! colspan="3" style="text-align: right; margin-right: 0.5em" | Majority
! colspan="3" style="text-align: right; margin-right: 0.5em" scope=row | Turnout
! colspan="3" style="text-align:right;" scope=row | Registered electors
! style="text-align:right;" | Swing
Park Street.
! scope="col" colspan="2" style="width: 130px"|Party
! scope="col" style="width: 17em"|Candidate
! scope="col" style="width: 5em"|Votes
! scope="col" style="width: 3.5em"|%
! scope="col" style="width: 3.5em"| ;templatestyles src="Template:Tooltip/styles.css" / ;±%
 |- class="vcard"
 |- class="vcard"
 |- class="vcard"
 |- class="vcard"
! colspan="3" style="text-align: right; margin-right: 0.5em" | Majority
! colspan="3" style="text-align: right; margin-right: 0.5em" scope=row | Turnout
! colspan="3" style="text-align:right;" scope=row | Registered electors
! style="text-align:right;" | Swing
Sandridge &amp; Wheathampstead.
! scope="col" colspan="2" style="width: 130px"|Party
! scope="col" style="width: 17em"|Candidate
! scope="col" style="width: 5em"|Votes
! scope="col" style="width: 3.5em"|%
! scope="col" style="width: 3.5em"| ;templatestyles src="Template:Tooltip/styles.css" / ;±%
 |- class="vcard"
 |- class="vcard"
 |- class="vcard"
! colspan="3" style="text-align: right; margin-right: 0.5em" | Majority
! colspan="3" style="text-align: right; margin-right: 0.5em" scope=row | Turnout
! colspan="3" style="text-align:right;" scope=row | Registered electors
! style="text-align:right;" | Swing
! style="text-align:right;" | Swing
Sopwell.
! scope="col" colspan="2" style="width: 130px"|Party
! scope="col" style="width: 17em"|Candidate
! scope="col" style="width: 5em"|Votes
! scope="col" style="width: 3.5em"|%
! scope="col" style="width: 3.5em"| ;templatestyles src="Template:Tooltip/styles.css" / ;±%
 |- class="vcard"
 |- class="vcard"
 |- class="vcard"
 |- class="vcard"
 |- class="vcard"
! colspan="3" style="text-align: right; margin-right: 0.5em" | Majority
! colspan="3" style="text-align: right; margin-right: 0.5em" scope=row | Turnout
! colspan="3" style="text-align:right;" scope=row | Registered electors
! style="text-align:right;" | Swing
St Peters.
! scope="col" colspan="2" style="width: 130px"|Party
! scope="col" style="width: 17em"|Candidate
! scope="col" style="width: 5em"|Votes
! scope="col" style="width: 3.5em"|%
! scope="col" style="width: 3.5em"| ;templatestyles src="Template:Tooltip/styles.css" / ;±%
 |- class="vcard"
 |- class="vcard"
 |- class="vcard"
! colspan="3" style="text-align: right; margin-right: 0.5em" | Majority
! colspan="3" style="text-align: right; margin-right: 0.5em" scope=row | Turnout
! colspan="3" style="text-align:right;" scope=row | Registered electors
! style="text-align:right;" | Swing
St Stephen.
! scope="col" colspan="2" style="width: 130px"|Party
! scope="col" style="width: 17em"|Candidate
! scope="col" style="width: 5em"|Votes
! scope="col" style="width: 3.5em"|%
! scope="col" style="width: 3.5em"| ;templatestyles src="Template:Tooltip/styles.css" / ;±%
 |- class="vcard"
 |- class="vcard"
 |- class="vcard"
 |- class="vcard"
! colspan="3" style="text-align: right; margin-right: 0.5em" | Majority
! colspan="3" style="text-align: right; margin-right: 0.5em" scope=row | Turnout
! colspan="3" style="text-align:right;" scope=row | Registered electors
! style="text-align:right;" | Swing
Verulam.
! scope="col" colspan="2" style="width: 130px"|Party
! scope="col" style="width: 17em"|Candidate
! scope="col" style="width: 5em"|Votes
! scope="col" style="width: 3.5em"|%
! scope="col" style="width: 3.5em"| ;templatestyles src="Template:Tooltip/styles.css" / ;±%
 |- class="vcard"
 |- class="vcard"
 |- class="vcard"
! colspan="3" style="text-align: right; margin-right: 0.5em" | Majority
! colspan="3" style="text-align: right; margin-right: 0.5em" scope=row | Turnout
! colspan="3" style="text-align:right;" scope=row | Registered electors
! style="text-align:right;" | Swing
By-elections.
Harpenden North &amp; Rural.
A by-election was held in the Harpenden North and Rural ward on 17 October 2024, after the resignation of Liberal Democrat councillor Beth Fisher.
! scope="col" colspan="2" style="width: 130px"|Party
! scope="col" style="width: 17em"|Candidate
! scope="col" style="width: 5em"|Votes
! scope="col" style="width: 3.5em"|%
! scope="col" style="width: 3.5em"| ;templatestyles src="Template:Tooltip/styles.css" / ;±%
 |- class="vcard"
 |- class="vcard"
 |- class="vcard"
! colspan="3" style="text-align: right; margin-right: 0.5em" | Majority
! colspan="3" style="text-align: right; margin-right: 0.5em" scope=row | Turnout
! style="text-align:right;" | Swing
References.
 ;templatestyles src="Reflist/styles.css" / ;