The 2023 Ipswich Borough Council election took place on 4 May 2023 to elect members of Ipswich Borough Council in Suffolk, England. This was on the same day as other local elections in England.
Labour retained control of the council. The incumbent leader of the council, David Ellesmere, had announced ahead of the election that he would not continue as leader after the election. He was replaced as Labour group leader by Neil MacDonald, who formally took over as leader of the council at the subsequent annual council meeting on 17 May 2023.
Summary.
Election result.
! colspan="11" style="font-weight: bold;" | 2023 Ipswich Borough 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: ;" |  
! style="width: 3px; background-color: ;" |  
Ward results.
The Statement of Persons Nominated, which details the candidates standing in each ward, was released by Ipswich Borough Council following the close of nominations on 4 April 2023.
Alexandra.
! 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" / ;±%
! 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
Bixley.
! 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
Bridge.
! 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
Castle Hill.
! 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
Gainsborough.
! 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
Gipping.
! 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
Holywells.
! 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
Priory 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
! style="text-align:right;" | Swing
Rushmere.
! 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
Sprites.
! 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
! style="text-align:right;" | Swing
St. John's.
! 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
St. Margaret's.
! 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
Stoke Park.
! 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
! style="text-align:right;" | Swing
Westgate.
! 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
Whitehouse.
! 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
Whitton.
! 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" / ;