Local election in Surrey, England
The 2019 Guildford Borough Council election were held on 2 May 2019, to elect all 48 seats to the Guildford Borough Council in Surrey, England as part of the 2019 local elections.
The Liberal Democrats won the most seats (17), the Residents for Guildford and Villages, a new political party formed in early 2019, came second with 15 seats, while the ruling Conservatives lost their majority coming third with 9 seats. Other parties such as the Guildford Greenbelt Group (4), the Labour Party (2) and the Green Party (1) won seats.
Background.
Since the 2015 local election, there had been changes to the political make up of the council. Prior to the election Labour had gained one seat from the Conservatives in the Stoke by-election in May 2016, and a total of four councillors had defected from their parties to sit as an Independent Alliance group. Two Conservative councillors, Tony Rooth (a former council leader) and Bob McShee, defected to sit as independents in May 2018 and were joined by Colin Cross from the Liberal Democrats in November 2018. All of them cited dissatisfaction with their group leaderships as reasons for defection, particularly in relation to issues around Guildford's draft Local Plan In February 2019 a further Conservative councillor, Nils Christiansen, defected to the independent group.
In the run up to the election the Independent Alliance councillors were involved in the creation of a new party, Residents for Guildford and Villages (R4GV), to contest the borough elections on a platform of changing the Local Plan. The creation of the new party was supported by individuals who had been active within the Guildford Society and the Guildford Vision Group (a civic society group campaigning for alternative planning policies within Guildford town), and was led by a local investor, Joss Bigmore. Three of the four independent councillors were involved in the creation of R4GV and joined it to stand for re-election under the party label.
The Local Plan proved a controversial topic in the run-up to the election, having already provided an impetus for the creation of the Guildford Greenbelt Group (GGG) party prior to the 2015 election (where it had won three seats).The draft Local Plan set out plans for the building 10,678 new houses by 2034, including three major 'strategic sites' located on green belt land, and became one of the main issues of the 2019 election campaign. A vote on adopting the Local Plan was scheduled by the Conservative administration for 25 April 2019, just one week before the election, attracting criticism from opposition parties who claimed this was a violation of the pre-election "purdah" period. Despite public protests, and attempts by opposition parties to defer the vote until after the local election, the vote went ahead as scheduled with a majority of councillors voting to adopt the Local Plan.
During the election campaign the parties contesting the election set out their positions on a range of issues. The Conservatives, as the incumbent administration, defended the Local Plan and their record of running Guildford Borough Council, especially in the area of arts and culture, arguing that a re-elected Conservative administration would "enhance" the borough's sporting, community and recreational facilities. The Liberal Democrats, as the main opposition group, outlined plans to protect the environment, take action on climate change and build more social housing. R4GV and GGG both campaigned on making changes to the Local Plan and on the basis that they would be an improvement over the presence of national political parties in local government. Labour argued that they were the only party offering real change in Guildford and advocated investment in public services.
At the election R4GV and GGG co-operated, standing candidates together in two wards and not standing against each other in other wards, but only stood a total of 21 candidates between them. The Liberal Democrats stood 32 candidates, not contesting some wards, whilst the Conservatives contested every ward. In the run up to the election there was media speculation and analysis suggesting that R4GV and the Liberal Democrats had been selective in where they had stood candidates in order to maximise the anti-Conservative vote.
Summary.
Election result.
! colspan="11"|2019 Guildford 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;" |  
! style="background-color: ; width: 3px;" |  
Number of councillors per ward is shown in brackets after the ward name.
Wards won solely by the Liberal Democrats – Burpham (2); Friary &amp; St Nicolas (3); Effingham (1); Onslow (3); Stoughton (3); Westborough (3)
Wards won solely by Residents for Guildford and Villages (R4GV) – Christchurch (3); Holy Trinity (3); Lovelace (1); Pilgrims (1); Worplesdon (3)
Wards won solely by the Conservatives – Ash Vale (2); Ash Wharf (2); Pirbright (1); Normandy (1)
Wards won solely by Guildford Greenbelt Group – Send (2)
Wards won solely by Labour – Stoke (2)
Wards electing councillors of more than one party – Ash South &amp; Tongham (3 – 2 Con, 1 R4GV); Clandon &amp; Horsley (3 – 2 R4GV, 1 Guildford Greenbelt); Merrow (3 - 1 R4GV, 2 Lib Dem); Shalford (2 - 1 R4GV, 1 Guildford Greenbelt), Tillingbourne (2 - 1 Con, 1 Green)
The results saw the Conservatives lose control of Guildford Borough Council, falling from 31 seats to 9, making the Liberal Democrats the largest party on 17 seats.
Prior to the election, 3 councillors had defected from the Conservatives and 1 had defected from the Liberal Democrats to form the Independent Alliance on the council. The Independent Alliance registered Residents for Guildford and Villages as a political party to contest the 2019 elections and proceeded to win 15 seats.
The Guildford Greenbelt Group increased their representation to 4 seats whilst Labour maintained a by-election gain from the Conservatives to emerge with 2 seats.
The Green party also won their first seat on Guildford Borough Council in Tillingbourne ward.
Aftermath.
Following the election the Green councillor chose to sit on the council as part of the R4GV group.
On 15 May 2019 councillors voted by 23 to 19 to elect the Liberal Democrat group leader, Caroline Reeves, as Leader of Guildford Borough Council over the leader of the R4GV group, Joss Bigmore. On 20 May 2019 Caroline Reeves announced that (including herself) the council's Cabinet would consist of 8 Liberal Democrats, 1 R4GV and 1 GGG councillor with an additional R4GV councillor attending cabinet as a non-voting deputy. However, on 27 August 2019 the GGG member of the Cabinet resigned and was subsequently replaced by an additional R4GV councillor (the formerly non-voting deputy member of the Cabinet).
In May 2020 it was announced that an agreement had been reached between the Liberal Democrats and R4GV to rotate the council leadership between them as part of a coalition arrangement which saw four Liberal Democrat councillors leave the council's Cabinet and be replaced by two R4GV councillors to create an evenly split cabinet of four Liberal Democrat and four R4GV councillors.
Ward by Ward.
"In each of the wards indicated with an *, one of the R4GV gains is a notional one due to one councillor elected in the ward in 2015 having already defected to R4GV prior to the 2019 election being called. In all wards a 'gain' is defined as a seat gained from the party who won it at the most recent election even if the party who won it in 2015 no longer held it going in to the 2019 election."
! 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" scope=row | Turnout
! style="text-align:right;" | Swing
! style="text-align:right;" | Swing
! style="text-align:right;" | Swing
! 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" scope=row | Turnout
! style="text-align:right;" | Swing
! style="text-align:right;" | Swing
! 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" scope=row | Turnout
! style="text-align:right;" | Swing
! style="text-align:right;" | Swing
 
! 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
! style="text-align:right;" | Swing
! 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
! style="text-align:right;" | Swing
! 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
! style="text-align:right;" | Swing
! style="text-align:right;" | Swing
! 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
 
! 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
! style="text-align:right;" | Swing
! style="text-align:right;" | Swing
! 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
! style="text-align:right;" | Swing
! style="text-align:right;" | Swing
 
! 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
! 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
! style="text-align:right;" | Swing
! style="text-align:right;" | Swing
! 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
! 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
! style="text-align:right;" | Swing
! style="text-align:right;" | Swing
! 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
! 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
! 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
! style="text-align:right;" | Swing
! 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
! style="text-align:right;" | Swing
! 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
! style="text-align:right;" | Swing
! 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
! style="text-align:right;" | Swing
! style="text-align:right;" | Swing
!