Election
The 2023 Spelthorne Borough Council election took place on 4 May 2023 to elect members of Spelthorne Borough Council in Surrey, England. This was on the same day as other local elections across England.
Prior to the election the council was under no overall control, being led by a Conservative minority administration. The Conservatives had won a majority of the seats at the previous election in 2019 but had lost their majority in 2020 following a number of defections. Following the 2023 election the council remained under no overall control. At the subsequent annual council meeting on 25 May 2023, independent councillor Jo Sexton was appointed leader of the council, with Liberal Democrat councillor Chris Bateson serving as deputy leader.
Summary.
Election result.
! colspan="11"|2023 Spelthorne Borough Council election
! colspan="2" style="width:230px"|Party
! style="width:30px"|Candidates
! style="width:30px"|Seats
! style="width:30px"|Gains
! style="width:30px"|Losses
! style="width:30px"|Net gain/loss
! style="width:30px"|Seats %
! style="width:30px"|Votes %
! style="width:60px"|Votes
! style="width:40px"|+/−
! style="background-color: ; width: 3px;" |  
! style="background-color: ; width: 3px;" |  
! style="background-color: ; width: 3px;" |  
! style="background-color: ; width: 3px;" |  
! style="background-color: ; width: 3px;" |  
! style="background-color: ; width: 3px;" |  
! style="background-color: ; width: 3px;" |  
Ward results.
The results were declared on the 5 May 2023. The results were as follows, with an asterisk (*) indicating an incumbent councillor standing for re-election:
Ashford Common.
! 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" | Rejected ballots
! colspan="3" style="text-align: right; margin-right: 0.5em" scope=row | Turnout
 
Ashford 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"
 |- class="vcard"
 |- class="vcard"
 |- class="vcard"
 |- class="vcard"
 |- class="vcard"
 |- class="vcard"
! colspan="3" style="text-align: right; margin-right: 0.5em" | Rejected ballots
! colspan="3" style="text-align: right; margin-right: 0.5em" scope=row | Turnout
Joanne Sexton was an incumbent in Ashford North and Stanwell South
Ashford North &amp; Stanwell 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"
 |- class="vcard"
 |- class="vcard"
 |- class="vcard"
 |- class="vcard"
 |- class="vcard"
 |- class="vcard"
! colspan="3" style="text-align: right; margin-right: 0.5em" | Rejected ballots
! colspan="3" style="text-align: right; margin-right: 0.5em" scope=row | Turnout
 
Ashford Town.
! 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"
 |- class="vcard"
 |- class="vcard"
! colspan="3" style="text-align: right; margin-right: 0.5em" | Rejected ballots
! colspan="3" style="text-align: right; margin-right: 0.5em" scope=row | Turnout
 
Halliford &amp; Sunbury 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"
 |- class="vcard"
 |- class="vcard"
 |- class="vcard"
! colspan="3" style="text-align: right; margin-right: 0.5em" | Rejected ballots
! colspan="3" style="text-align: right; margin-right: 0.5em" scope=row | Turnout
Laleham &amp; Shepperton Green.
! 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"
 |- class="vcard"
 |- class="vcard"
 |- class="vcard"
 |- class="vcard"
! colspan="3" style="text-align: right; margin-right: 0.5em" | Rejected ballots
! colspan="3" style="text-align: right; margin-right: 0.5em" scope=row | Turnout
Riverside &amp; Laleham.
! 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" | Rejected ballots
! colspan="3" style="text-align: right; margin-right: 0.5em" scope=row | Turnout
 
Shepperton Town.
! 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" | Rejected ballots
! colspan="3" style="text-align: right; margin-right: 0.5em" scope=row | Turnout
Maureen Attewell was a sitting councillor for Laleham and Shepperton Green
John Boughtflower was a sitting councillor for Ashford East
Staines.
! 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" | Rejected ballots
! colspan="3" style="text-align: right; margin-right: 0.5em" scope=row | Turnout
 
Staines 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"
 |- class="vcard"
 |- class="vcard"
 |- class="vcard"
! colspan="3" style="text-align: right; margin-right: 0.5em" | Rejected ballots
! colspan="3" style="text-align: right; margin-right: 0.5em" scope=row | Turnout
Stanwell North.
! 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" | Rejected ballots
! colspan="3" style="text-align: right; margin-right: 0.5em" scope=row | Turnout
Sunbury Common.
! 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"
 |- class="vcard"
 |- class="vcard"
! colspan="3" style="text-align: right; margin-right: 0.5em" | Rejected ballots
! colspan="3" style="text-align: right; margin-right: 0.5em" scope=row | Turnout
Sunbury 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"
 |- class="vcard"
 |- class="vcard"
! colspan="3" style="text-align: right; margin-right: 0.5em" | Rejected ballots
! colspan="3" style="text-align: right; margin-right: 0.5em" scope=row | Turnout
Changes 2023–2027.
! 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
 
By-election triggered by the resignation of Green councillor Andrew McLuskey.
References.
 ;templatestyles src="Reflist/styles.css" / ;