# 2019 Zürich cantonal elections

The 2019 Zürich cantonal elections were held on 24 March 2019, to elect the seven members of the cantonal Executive Council and the 180 members of the Cantonal Council. All five incumbents running were re-elected to the Executive Council, as well as green candidate Martin Neukom and Swiss People's Party candidate Natalie Rickli.
The election was an upset for the left-wing and green parties. The Green Party re-gained an executive councilor as Neukom was elected and both social-democratic candidates topped the polls, although the right-of-center parties maintained a majority in the Executive Council. Both the Greens and Green-Liberals made important gains in the Cantonal Council, ending the right-of-center parties' overall majority.

## Electoral system
### Executive Council

The Executive Council contains 7 members elected using a two-round majoritarian system. In the first round, electors have up to seven votes and the 7 most-voted candidates reaching an overall majority (>50%) are elected. If seats remain to be filled, a runoff is held where electors have as many votes as seats remaining, and the candidates with the most votes (simple plurality) are elected.

### Cantonal Council

The Cantonal Council is elected using open-list proportional representation, with canton-wide apportionment of seats and allocation into 18 constituencies (biproportional apportionment). In each constituency, voters have as many votes as there are seats to fill (panachage is permitted); these votes each count both for the candidate and for the list they stand in. These votes counts are divided by the seats count to give fictional electors counts which can be summed up fairly throughout the canton.
Using the fictional electors counts, each party above the threshold (reaching 5% in at least one constituency) is apportioned seats canton-wide, which are then shared among their constituency lists. In each constituency list, the seats are attributed to the candidates reaching the most votes.
Number of seats by constituency :
| Constituency | Constituency | Seats | Change |
| I | Zürich city districts 1 & 2 | 5 | +1 |
| II | Zürich city districts 3 & 9 | 12 | = |
| III | Zürich city districts 4 & 5 | 5 | = |
| IV | Zürich city districts 6 & 10 | 9 | = |
| V | Zürich city districts 7 & 8 | 6 | = |
| VI | Zürich city districts 11 & 12 | 12 | = |
| VII | Dietikon | 11 | = |
| VIII | Affoltern | 6 | = |
| IX | Horgen | 15 | = |
| X | Meilen | 12 | −1 |
| XI | Hinwil | 11 | −1 |
| XII | Uster | 16 | = |
| XIII | Pfäffikon | 7 | = |
| XIV | Winterthur city | 13 | = |
| XV | Winterthur land | 7 | = |
| XVI | Andelfingen | 4 | = |
| XVII | Bülach | 18 | +1 |
| XVIII | Dielsdorf | 11 | = |

## Candidates
### Executive Council

Five of the seven incumbents ran for re-election: Mario Fehr (SP), Ernst Stocker (SVP), Sylvia Steiner (DM), Carmen Walker Späh (FDP), and Jacqueline Fehr (SP).
Mario Fehr was narrowly re-nominated by his party but lost support from both the Greens and the Alternative Left. The Green Party aimed to re-gain their seat lost in 2015 and fielded cantonal councilor Martin Neukom; they recommended Alternative List candidate Walter Angst on their ticket instead of Fehr.
Incumbent councilor Thomas Heiniger (FDP) announced his retirement in early 2018, followed by Markus Kägi (SVP). The FDP selected cantonal council group leader Thomas Vogel, who had failed to be nominated against Carmen Walker Späh in 2015, to succeed Heiniger. The SVP chose national councilor Natalie Rickli to replace Kägi, by a wide margin in the internal vote after misogynist campaign emails from her opponent Christian Lucek were leaked to the media. The FDP, SVP, and CVP ran together informally again as the "Bourgeois Alliance for the Executive Council", highlighting their long-standing control of the cantonal executive, although with separate programs.
Jörg Mäder ran for the green-liberals, Hanspeter Hugentobler for the EVP, and Rosmarie Quadranti was the BDP candidate. The three "centrist" parties held a press conference together, with different programs but highlighting their ability to compromise; media speculated that they would unite behind a single candidate in the case of a runoff.

### Cantonal Council

The table below lists contesting parties represented in the Cantonal Council before the election.
| Name | Name | Name | Ideology | 2015 result | 2015 result |
| Name | Name | Name | Ideology | Votes (%) | Seats |
| | SVP | Swiss People's Party Schweizerische Volkspartei | National conservatism Right-wing populism | 30.0% | 54 / 180 |
| | SP | Social Democratic Party Sozialdemokratische Partei | Social democracy Democratic socialism | 19.7% | 36 / 180 |
| | FDP | FDP.The Liberals FDP.Die Liberalen | Classical liberalism Conservative liberalism | 17.3% | 31 / 180 |
| | GLP | Green Liberal Party Grünliberale Partei | Green liberalism Social liberalism | 7.6% | 14 / 180 |
| | GPS | Green Party Grüne Partei | Green politics Progressivism | 7.2% | 13 / 180 |
| | CVP | Christian Democratic People's Party Christlichdemokratische Volkspartei | Christian democracy Social conservatism | 4.9% | 9 / 180 |
| | EVP | Evangelical People's Party Evangelische Volkspartei | Christian democracy Social conservatism | 4.3% | 8 / 180 |
| | AL | Alternative List Alternative Liste | Socialism | 3.0% | 5 / 180 |
| | EDU | Federal Democratic Union Eidgenössisch-Demokratische Union | National conservatism | 2.7% | 5 / 180 |
| | BDP | Conservative Democratic Party Bürgerlich-Demokratische Partei | Christian democracy Social conservatism | 2.6% | 5 / 180 |
The Party of Labour, Die Guten, and Helvida also contested this election. A total of 13 parties contested this election, as many as in 2015, representing a total of 1734 candidates.
During the previous legislature, the SVP and FDP formed a minority coalition to legislate, working with either the CVP, GLP, BDP, or EDU to pass legislation, but the GLP and EVP progressively distanced themselves from the alliance. The SP and Greens challenged several policies in referendums; as a result the bourgeois majority mainly worked on budgetary issues with few work on other policies, leading the SP to speak of a "lost legislature"

## Campaign

The "bourgeois alliance" of SVP, FDP, and CVP ran a joint campaign for the Executive Council. Similar alliances had already existed in the canton and city of Zürich in past elections. However, an SVP leaflet targeting the FDP two weeks before the election led to speculation about a potential division in the electorate.
Mario Fehr's renomination by the socialists was controversial especially to the Young Socialists due to his hardline stance on asylum policy; both the Greens and the Alternative left refused to endorse Fehr. These conflicts around Mario Fehr caused the leftist parties to enter this election disunited, which was seen as a risk for the greens despite Fehr's strong personal popularity.
Climate became a dominant campaign issue due to the ongoing climate strikes. Greens and Green-liberals were seen as most likely to gain from this focus, while the FDP did not gain from their own change-of-course in climate policy. Climate issues also overshadowed the SVP's core issues, immigration and asylum policy, leading them to expect further losses after a poor performance in the 2018 local elections. The socialists' ambiguous stance on the EU-Switzerland framework agreement and the resulting defection of former national councilor Chantal Galladé to the green-liberals also led them to lost momentum despite their successful results in the local elections.

## Opinion polls
### Executive Council

| Polling firm | Fieldwork date | Sample size | M. Fehr SP | Stocker SVP | Späh FDP | Steiner CVP | J. Fehr SP | Rickli SVP | Vogel FDP | Neukom GPS | Mäder glp | Quadranti BDP | Angst AL | Hugentobler EVP | Egli EDU |
| Sotomo | 2 Mar 2019 | ? | 65 | 54 | 54 | 52 | 49 | 44 | 42 | 38 | 30 | 24 | 19 | 10 | 6 |
| Sotomo | 19 Jan 2019 | ? | 65.8 | 57.5 | 56.0 | 53.6 | 49.5 | 50.0 | 40.3 | 35.0 | 28.4 | 23.0 | 17.9 | 7.5 | 4.7 |

### Cantonal Council

| Polling firm | Fieldwork date | Sample size | SVP | SP | FDP | glp | GPS | CVP | EVP | AL | EDU | BDP | Others | Lead |
| Sotomo | 2 Mar 2019 | ? | 28.2 | 18.5 | 17.7 | 10.0 | 9.3 | 4.7 | 4.0 | 2.9 | 2.4 | 1.9 | 0.4 | 9.7 |
| 2015 election | 12 Apr 2015 | – | 30.0 | 19.7 | 17.3 | 7.6 | 7.2 | 4.9 | 4.3 | 3.0 | 2.7 | 2.6 | 3.3 | 10.3 |

## Results
### Executive Council

Note: percentages here are calculated based on the number of valid votes (excluding blank and invalid votes) so that the absolute majority is at exactly 50%, but may result in candidates reaching over 100% of the valid votes.
Results of the 2019 Zürich Executive Council election :
| Candidate | Candidate | Party | Votes | % |
| | Mario Fehr | SP | 173,231 | 83.80 |
| | Jacqueline Fehr | SP | 149,104 | 72.13 |
| | Ernst Stocker | SVP | 140,951 | 68.19 |
| | Sylvia Steiner | CVP | 135,481 | 65.54 |
| | Carmen Walker Späh | FDP | 126,229 | 61.06 |
| | Martin Neukom | Grüne | 121,823 | 58.93 |
| | Natalie Rickli | SVP | 116,096 | 56.16 |
| | Thomas Vogel | FDP | 109,624 | 53.03 |
| | Jörg Mäder | GLP | 93,782 | 45.37 |
| | Walter Angst | AL | 81,754 | 39.55 |
| | Rosmarie Quadranti | BDP | 52,677 | 25.48 |
| | Hanspeter Hugentobler | EVP | 41,860 | 20.25 |
| | Hans Egli | EDU | 23,702 | 11.47 |
| | Jan Linhart | Ind. | 7,265 | 3.51 |
| Scattered votes | Scattered votes | Scattered votes | 73,417 | 35.52 |
| Total | Total | Total | 1,272,428 | 64.09 |
| Blank and invalid votes | Blank and invalid votes | Blank and invalid votes | 713,080 | 35.91 |
| Total votes | Total votes | Total votes | 1,985,508 | 7× |
| Valid ballots | Valid ballots | Valid ballots | 283,644 | 97.40 |
| Invalid ballots | Invalid ballots | Invalid ballots | 7,572 | 2.60 |
| Total ballots | Total ballots | Total ballots | 291,216 | – |
| Registered voters/Turnout | Registered voters/Turnout | Registered voters/Turnout | 910,776 | 31.97 |
| Source: |||||
This election was an upset for the left-of-center parties. The two social-democratic candidates topped the polls with Mario Fehr exceeding 83%, and Martin Neukom was elected after unexpectedly placing sixth. Both SVP candidates dropped below 70% for the first time since 2007, white the FDP scored historically low and lost one of their two seats for the first time as Thomas Vogel failed to make the top-7. Sylvia Steiner placed fourth as her vote share remained constant; four other candidates finished above 20%.
As 8 candidates reached a majority, no runoff was held. The top-5 alliance lost one of their seats but retained a majority with four councilors out of seven, although with the CVP needed compared to the previous elections.

### Results by district

Vote share of each candidate by district :
| District | Angst AL | Egli EDU | J. Fehr SP | M. Fehr SP | Huge. EVP | Linh. Ind. | Mäder GLP | Neuk. GPS | Quad. BDP | Rick. SVP | Späh FDP | Stei. CVP | Stoc. SVP | Vogel FDP | Scattered |
| Affoltern | 32.3 | 13.1 | 71.1 | 83.2 | 19.8 | 3.2 | 44.2 | 54.4 | 24.3 | 60.0 | 63.1 | 68.8 | 74.5 | 53.7 | 34.3 |
| Andelfingen | 24.8 | 14.9 | 64.1 | 79.6 | 19.5 | 2.4 | 39.3 | 49.0 | 26.7 | 74.5 | 63.4 | 66.0 | 85.9 | 55.2 | 34.9 |
| Bülach | 28.0 | 17.0 | 62.4 | 79.5 | 21.1 | 2.4 | 44.1 | 45.1 | 24.4 | 67.1 | 65.3 | 69.9 | 77.8 | 56.2 | 39.8 |
| Dielsdorf | 19.7 | 27.4 | 54.2 | 72.4 | 20.0 | 2.0 | 41.2 | 41.1 | 24.9 | 75.0 | 68.4 | 72.9 | 85.3 | 59.8 | 35.8 |
| Dietikon | 27.6 | 9.9 | 58.8 | 78.9 | 15.9 | 2.0 | 40.7 | 45.9 | 21.3 | 68.4 | 69.5 | 78.2 | 79.5 | 61.3 | 42.2 |
| Hinwil | 28.7 | 18.1 | 62 | 77 | 27.2 | 2.6 | 38.8 | 48.5 | 27.8 | 66.4 | 64.5 | 65.7 | 78.1 | 55.8 | 38.9 |
| Horgen | 29.9 | 9.7 | 61.9 | 82.9 | 22.3 | 1.9 | 42.8 | 51.1 | 21.2 | 61.1 | 65.5 | 73.0 | 81.3 | 59.5 | 35.9 |
| Meilen | 24.3 | 9.4 | 57.0 | 81.5 | 16.4 | 2.6 | 43.5 | 45.7 | 21.4 | 64.3 | 74.7 | 75.3 | 80.3 | 69.2 | 34.3 |
| Pfäffikon | 23.1 | 16.7 | 61.5 | 77.8 | 37.0 | 2.8 | 40.1 | 47.4 | 27.9 | 66.0 | 61.9 | 65.0 | 75.8 | 60.6 | 36.3 |
| Uster | 31.7 | 11.0 | 68.1 | 81.1 | 19.8 | 2.9 | 46.4 | 52.6 | 33.1 | 58.5 | 63.7 | 66.3 | 70.1 | 55.1 | 39.6 |
| Winterthur | 40.5 | 10.6 | 78.4 | 86.0 | 24.1 | 3.6 | 45.1 | 64.9 | 24.4 | 55.4 | 55.2 | 60.9 | 63.5 | 47.2 | 40.2 |
| Zürich | 66.7 | 5.8 | 92.3 | 92.1 | 15.2 | 5.9 | 51.8 | 80.7 | 26.5 | 36.2 | 51.7 | 56.8 | 47.4 | 42.1 | 29.0 |
| Total | 39.5 | 11.5 | 72.1 | 83.8 | 20.3 | 3.5 | 45.4 | 58.9 | 25.5 | 56.2 | 61.1 | 65.5 | 68.2 | 53.0 | 35.5 |

### Cantonal Council

Results of the 2019 Zürich Cantonal Council election :
| 62235823298454 |||||||
| Party | Party | Votes | % | +/– | Seats | +/– |
| | Swiss People's Party | 74,563 | 24.46 | −5.56 | 45 | −9 |
| | Social Democratic Party | 58,870 | 19.31 | −0.36 | 35 | −1 |
| | FDP.The Liberals | 47,747 | 15.66 | −1.66 | 29 | −2 |
| | Green Liberal Party | 39,342 | 12.91 | +5.27 | 23 | +9 |
| | Green Party | 36,309 | 11.91 | +4.69 | 22 | +9 |
| | Christian Democratic People's Party | 13,086 | 4.29 | −0.59 | 8 | −1 |
| | Evangelical People's Party | 12,928 | 4.24 | −0.03 | 8 | ±0 |
| | Alternative List | 9,593 | 3.15 | +0.17 | 6 | +1 |
| | Federal Democratic Union | 6,926 | 2.27 | −0.36 | 4 | −1 |
| | Conservative Democratic Party | 4,655 | 1.53 | −1.09 | 0 | −5 |
| | Labour Party | 530 | 0.17 | New | 0 | New |
| | Die Guten | 260 | 0.09 | New | 0 | New |
| | Helvida | 12 | 0.00 | New | 0 | New |
| Total | Total | 304,821 | 100.00 | – | 180 | – |
| Valid votes | Valid votes | 304,818 | 99.81 | | | |
| Invalid/blank votes | Invalid/blank votes | 566 | 0.19 | | | |
| Total votes | Total votes | 305,384 | 100.00 | | | |
| Registered voters/turnout | Registered voters/turnout | 910,776 | 33.53 | | | |
| Source: wahlen.zh.ch |||||||
This election continued the realignment in Swiss politics, as the Green-Liberals and Greens together gained ten points and 18 seats. This was even more than predicted in the polls, and would later be described as a "green wave".
The SVP dropped to their lowest level since 1995, and the BDP lost all their seats due to missing the threshold. This election was a debacle for the bourgeois parties: the FDP, SVP, and CVP together lost 12 seats in total and their incumbent overall majority.
As a result of this election, the right-of-center parties totaled 86 seats and the social democrats and greens added up to 57 seats; the Tages-Anzeiger described the green-liberals and their 23 seats as kingmakers in the newly-elected cantonal council.

### Results by constituency

Number of seats and share of votes for each party by constituency :
| Constituency | SVP | SP | FDP | GLP | GPS | CVP | EVP | AL | EDU | Total seats | SVP | SP | FDP | GLP | GPS | CVP | EVP | AL | EDU | BDP | PdA |
| I Zürich City 1 & 2 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 5 | 13.1 | 25.3 | 17.1 | 13.7 | 18.2 | 4.0 | 1.4 | 5.6 | 0.5 | – | 0.5 |
| II Zürich City 3 & 9 | 2 | 3 | 1 | 1 | 2 | 1 | 0 | 2 | 0 | 12 | 14.2 | 29.8 | 10.0 | 12.1 | 17.2 | 4.2 | 2.4 | 8.1 | 0.2 | 0.4 | 0.7 |
| III Zürich City 4 & 5 | 0 | 2 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 5 | 6.6 | 31.6 | 8.3 | 14.7 | 17.9 | 1.4 | 0.8 | 15.7 | 0.3 | – | 1.3 |
| IV Zürich City 6 & 10 | 1 | 3 | 1 | 1 | 2 | 0 | 0 | 1 | 0 | 9 | 11.6 | 28.4 | 14.2 | 14.0 | 16.7 | 2.7 | 1.9 | 8.1 | 0.3 | 0.8 | 0.5 |
| V Zürich City 7 & 8 | 1 | 1 | 2 | 1 | 1 | 0 | 0 | 0 | 0 | 6 | 12.4 | 22.4 | 23.7 | 14.4 | 14.9 | 4.6 | 2.1 | 4.2 | 0.3 | – | 0.4 |
| VI Zürich City 11 & 12 | 2 | 3 | 1 | 2 | 2 | 1 | 0 | 1 | 0 | 12 | 19.2 | 27.1 | 11.0 | 12.7 | 13.9 | 4.2 | 4.0 | 4.5 | 1.1 | 1.0 | 0.6 |
| VII Dietikon | 4 | 2 | 2 | 1 | 1 | 1 | 0 | 0 | 0 | 11 | 29.4 | 18.7 | 17.4 | 12.5 | 6.2 | 8.2 | 3.3 | 1.4 | 1.3 | 1.6 | – |
| XIII Affoltern | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 6 | 26.6 | 17.8 | 15.1 | 14.2 | 10.8 | 2.8 | 8.6 | 0.9 | 2.3 | 0.9 | – |
| IX Horgen | 4 | 3 | 3 | 2 | 1 | 1 | 1 | 0 | 0 | 15 | 24.1 | 16.6 | 21.2 | 11.7 | 10.1 | 7.4 | 4.5 | 1.4 | 1.4 | 1.6 | – |
| X Meilen | 3 | 2 | 3 | 2 | 1 | 1 | 0 | 0 | 0 | 12 | 27.0 | 14.2 | 25.3 | 13.3 | 9.2 | 4.4 | 2.5 | 1.1 | 1.9 | 1.1 | – |
| XI Hinwil | 3 | 1 | 2 | 1 | 1 | 1 | 1 | 0 | 1 | 11 | 30.3 | 12.8 | 13.4 | 10.0 | 12.1 | 5.8 | 5.7 | 1.5 | 6.2 | 2.1 | – |
| XII Uster | 4 | 3 | 2 | 2 | 2 | 1 | 1 | 0 | 1 | 16 | 26.8 | 17.0 | 14.9 | 15.0 | 10.5 | 4.9 | 3.4 | 1.6 | 2.4 | 3.4 | – |
| XIII Pfäffikon | 2 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 7 | 31.1 | 13.9 | 13.9 | 11.4 | 9.5 | 2.7 | 9.4 | 1.2 | 4.8 | 2.0 | – |
| XIV Winterthur City | 2 | 3 | 2 | 2 | 2 | 0 | 1 | 1 | 0 | 13 | 18.8 | 24.1 | 10.7 | 14.5 | 15.1 | 3.8 | 5.5 | 4.0 | 1.8 | 1.6 | – |
| XV Winterthur Land | 2 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 7 | 35.1 | 11.6 | 14.2 | 13.9 | 9.4 | 3.0 | 8.0 | 0.6 | 2.7 | 1.4 | – |
| XVI Andelfingen | 2 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 37.0 | 14.3 | 15.8 | 8.6 | 9.8 | 1.6 | 4.5 | 1.0 | 2.7 | 4.7 | – |
| XVII Bülach | 6 | 3 | 3 | 2 | 1 | 1 | 1 | 0 | 1 | 18 | 31.8 | 15.8 | 15.9 | 12.2 | 8.2 | 3.5 | 5.1 | 1.3 | 3.8 | 2.2 | – |
| XVIII Dielsdorf | 5 | 1 | 2 | 1 | 1 | 0 | 0 | 0 | 1 | 11 | 39.5 | 13.0 | 13.0 | 11.6 | 8.8 | 3.6 | 2.7 | 0.8 | 5.2 | 1.7 | – |
| Total | 45 | 35 | 29 | 23 | 22 | 8 | 8 | 6 | 4 | 180 | 24.5 | 19.3 | 15.7 | 12.9 | 11.9 | 4.3 | 4.2 | 3.2 | 2.3 | 1.5 | 0.2 |

## Aftermath

As in 2015, this election was a bellwether for the federal election in October, as the Green and Green-Liberal gains would as expected be replicated on a federal scale.

### Cantonal departments

Attribution of the departments of the Cantonal administration of Zürich for 2019 :
| Department | Head before | Head after |
| Department of Justice and Home Affairs | Jacqueline Fehr | Jacqueline Fehr |
| Department of Finance | Ernst Stocker | Ernst Stocker |
| Department of Health | Thomas Heiniger | Natalie Rickli |
| Building Department | Markus Kägi | Martin Neukom |
| Department of Security | Mario Fehr | Mario Fehr |
| Department for Economic Affairs | Carmen Walker Späh | Carmen Walker Späh |
| Department of Education | Silvia Steiner | Silvia Steiner |