2019 local election in England, UK
Elections to Manchester City Council were held on 2 May 2019, as part of the 2019 United Kingdom local elections. In 2018 Labour retained its majority of the council with 94 seats to the Liberal Democrats making up the opposition of 2, led by former MP John Leech.
Background and campaign.
Labour won every seat on Manchester City Council between 2011 and 2015. In 2016, former Liberal Democrat MP John Leech, who lost his seat in Manchester Withington in the 2015 General Election won a seat in Didsbury West and was joined by another Liberal Democrat Councillor in 2018.
Following the resignation of Fallowfield councillor Grace Fletcher-Hackwood on 19 March, two vacancies were filled in the Fallowfield ward; the candidate who received the most votes won the full four-year term and the second placed candidate took over the three years remaining of the vacant seat.
On 25 March, Manchester Lib Dem leader John Leech launched his party's manifesto for the 2019 elections. This was followed by the Green Party launching their manifesto for the local elections on 9 April.
On 15 April, "The Times" uncovered a number of offensive tweets from Fallowfield Labour candidate Jade Doswell. In 2014, Doswell had tweeted that she was a "little bit sick in my mouth" at the sight of an Israeli flag and claimed the flag was 'offensive' and provocative’. She apologised on a private Facebook post.
On 17 April, "Manchester Evening News" reported that the Liberal Democrat candidate for Hulme, Daniel Tóth-Nagy, had been suspended from the party after tweeting "There is no such thing as Islamophobia" and making other comments deemed Islamophobic. Tóth-Nagy denied that he had ever "express[ed] hatred or violent against any person", but the party issued a statement condemning the comments and immediately withdrew their support for him.
On 30 April, the "Manchester Evening News" reported that the Conservative candidate for Charlestown, Charalampos Kagouras, had been dropped by the party as a candidate due to years of racist and Islamophobic posts on social media.
Result.
Changes are compared with the 2018 results. Socialist Alternative changes in vote share are compared to the results for Trade Unionist and Socialist Coalition. Where 2 seats were contested simultaneously due to a vacancy the results for that ward have been normalised.
Ward results.
Asterisks denote incumbent Councillors seeking re-election. Councillors seeking re-election were elected in 2018, and results are compared to that year's polls on that basis.
Ancoats and Beswick.
! colspan="3" style="text-align: right; margin-right: 0.5em" | Majority
! 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
! colspan="3" style="text-align:right;" scope=row | Registered electors
! style="text-align:right;" | Swing
Ardwick.
! colspan="3" style="text-align: right; margin-right: 0.5em" | Majority
! 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
! colspan="3" style="text-align:right;" scope=row | Registered electors
! style="text-align:right;" | Swing
Baguley.
! colspan="3" style="text-align: right; margin-right: 0.5em" | Majority
! 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
! colspan="3" style="text-align:right;" scope=row | Registered electors
! style="text-align:right;" | Swing
Brooklands.
! colspan="3" style="text-align: right; margin-right: 0.5em" | Majority
! 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
! colspan="3" style="text-align:right;" scope=row | Registered electors
! style="text-align:right;" | Swing
Burnage.
! colspan="3" style="text-align: right; margin-right: 0.5em" | Majority
! 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
! colspan="3" style="text-align:right;" scope=row | Registered electors
! style="text-align:right;" | Swing
Charlestown.
! colspan="3" style="text-align: right; margin-right: 0.5em" | Majority
! 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
! colspan="3" style="text-align:right;" scope=row | Registered electors
! style="text-align:right;" | Swing
Cheetham.
! colspan="3" style="text-align: right; margin-right: 0.5em" | Majority
! 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
! colspan="3" style="text-align:right;" scope=row | Registered electors
! style="text-align:right;" | Swing
Chorlton.
! colspan="3" style="text-align: right; margin-right: 0.5em" | Majority
! 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
! colspan="3" style="text-align:right;" scope=row | Registered electors
! style="text-align:right;" | Swing
Chorlton Park.
! colspan="3" style="text-align: right; margin-right: 0.5em" | Majority
! 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
! colspan="3" style="text-align:right;" scope=row | Registered electors
! style="text-align:right;" | Swing
Clayton and Openshaw.
! colspan="3" style="text-align: right; margin-right: 0.5em" | Majority
! 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
! colspan="3" style="text-align:right;" scope=row | Registered electors
! style="text-align:right;" | Swing
Crumpsall.
! colspan="3" style="text-align: right; margin-right: 0.5em" | Majority
! 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
! colspan="3" style="text-align:right;" scope=row | Registered electors
! style="text-align:right;" | Swing
Deansgate.
! colspan="3" style="text-align: right; margin-right: 0.5em" | Majority
! 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
! colspan="3" style="text-align:right;" scope=row | Registered electors
! style="text-align:right;" | Swing
Didsbury East.
! colspan="3" style="text-align: right; margin-right: 0.5em" | Majority
! 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
! colspan="3" style="text-align:right;" scope=row | Registered electors
! style="text-align:right;" | Swing
Didsbury West.
! colspan="3" style="text-align: right; margin-right: 0.5em" | Majority
! 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
! colspan="3" style="text-align:right;" scope=row | Registered electors
! style="text-align:right;" | Swing
Fallowfield.
! colspan="3" style="text-align: right; margin-right: 0.5em" | Majority
! 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
! colspan="3" style="text-align:right;" scope=row | Registered electors
! style="text-align:right;" | Swing
! style="text-align:right;" | Swing
Gorton and Abbey Hey.
! colspan="3" style="text-align: right; margin-right: 0.5em" | Majority
! 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
! colspan="3" style="text-align:right;" scope=row | Registered electors
! style="text-align:right;" | Swing
Harpurhey.
! colspan="3" style="text-align: right; margin-right: 0.5em" | Majority
! 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
! colspan="3" style="text-align:right;" scope=row | Registered electors
! style="text-align:right;" | Swing
Higher Blackley.
! colspan="3" style="text-align: right; margin-right: 0.5em" | Majority
! 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
! colspan="3" style="text-align:right;" scope=row | Registered electors
! style="text-align:right;" | Swing
Hulme.
! colspan="3" style="text-align: right; margin-right: 0.5em" | Majority
! 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
! colspan="3" style="text-align:right;" scope=row | Registered electors
! style="text-align:right;" | Swing
Levenshulme.
! colspan="3" style="text-align: right; margin-right: 0.5em" | Majority
! 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
! colspan="3" style="text-align:right;" scope=row | Registered electors
! style="text-align:right;" | Swing
Longsight.
! colspan="3" style="text-align: right; margin-right: 0.5em" | Majority
! 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
! colspan="3" style="text-align:right;" scope=row | Registered electors
! style="text-align:right;" | Swing
Miles Platting and Newton Heath.
! colspan="3" style="text-align: right; margin-right: 0.5em" | Majority
! 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
! colspan="3" style="text-align:right;" scope=row | Registered electors
! style="text-align:right;" | Swing
Moss Side.
! colspan="3" style="text-align: right; margin-right: 0.5em" | Majority
! 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
! colspan="3" style="text-align:right;" scope=row | Registered electors
! style="text-align:right;" | Swing
Moston.
! colspan="3" style="text-align: right; margin-right: 0.5em" | Majority
! 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
! colspan="3" style="text-align:right;" scope=row | Registered electors
! style="text-align:right;" | Swing
Northenden.
! colspan="3" style="text-align: right; margin-right: 0.5em" | Majority
! 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
! colspan="3" style="text-align:right;" scope=row | Registered electors
! style="text-align:right;" | Swing
Old Moat.
! colspan="3" style="text-align: right; margin-right: 0.5em" | Majority
! 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
! colspan="3" style="text-align:right;" scope=row | Registered electors
! style="text-align:right;" | Swing
Piccadilly.
! colspan="3" style="text-align: right; margin-right: 0.5em" | Majority
! 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
! colspan="3" style="text-align:right;" scope=row | Registered electors
! style="text-align:right;" | Swing
Rusholme.
! colspan="3" style="text-align: right; margin-right: 0.5em" | Majority
! 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
! colspan="3" style="text-align:right;" scope=row | Registered electors
! style="text-align:right;" | Swing
Sharston.
! colspan="3" style="text-align: right; margin-right: 0.5em" | Majority
! 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
! colspan="3" style="text-align:right;" scope=row | Registered electors
! style="text-align:right;" | Swing
Whalley Range.
! colspan="3" style="text-align: right; margin-right: 0.5em" | Majority
! 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
! colspan="3" style="text-align:right;" scope=row | Registered electors
! style="text-align:right;" | Swing
Withington.
! colspan="3" style="text-align: right; margin-right: 0.5em" | Majority
! 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
! colspan="3" style="text-align:right;" scope=row | Registered electors
! style="text-align:right;" | Swing
Woodhouse Park.
! colspan="3" style="text-align: right; margin-right: 0.5em" | Majority
! 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
! colspan="3" style="text-align:right;" scope=row | Registered electors
! style="text-align:right;" | Swing
Changes since this election.
On 24 July 2019 it was reported that Majid Dar (Ancoats and Beswick) had been suspended by the Labour Party. He was readmitted to the party and to the Labour group on the council without formal announcement.
On 18 March 2020 Greg Stanton (Didsbury West) resigned from the Liberal Democrats to sit as an independent. Later, in April, he joined the Labour Party.
On 7  2020 (2020--), Sue Murphy (Brooklands) died after a long illness.
Clayton and Openshaw by-election.
ouncillor Andy Harland died in December 2019. A by-election took place on Thursday 27 February 2020 to fill the vacancy.
! 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" | Rejected ballots
! 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
References.
 ;templatestyles src="Reflist/styles.css" / ;