# 2022 North Rhine-Westphalia state election

The 2022 North Rhine-Westphalia state election was held on 15 May 2022 to elect the 18th Landtag of North Rhine-Westphalia. The outgoing government (First Wüst cabinet) was a coalition of the Christian Democratic Union (CDU) and Free Democratic Party (FDP) led by Minister-President Hendrik Wüst.
The CDU remained the largest party with 36% of votes, a small increase from 2017, while the opposition Social Democratic Party (SPD) declined to 27%. The Greens almost tripled their vote share to 18%. The FDP fell sharply to 6%, and the Alternative for Germany (AfD) slipped to 5%. Overall, the incumbent coalition lost its majority, though the opposition SPD and Greens also fell short of victory.
After the election, CDU formed a coalition with the Greens. This was the first time the two parties had worked together on the state level in North Rhine-Westphalia. Hendrik Wüst was re-elected as Minister-President on 28 June, and his cabinet was sworn in the next day.

## Election date

The Landtag is elected for five years, with its term commencing when the new Landtag first meets. Elections must take place in the last three months of the legislative period.

## Electoral system

The Landtag is elected via mixed-member proportional representation. 128 members are elected in single-member constituencies via first-past-the-post voting. 53 members are then allocated using compensatory proportional representation. Voters have two votes: the "first vote" for candidates in single-member constituencies, and the "second vote" for party lists, which are used to fill the remaining seats in a way that achieves proportionality overall. The minimum size of the Landtag is 181 members, but if overhang seats are present, proportional leveling seats will be added to ensure proportionality. An electoral threshold of 5% of valid votes is applied to the Landtag; parties that fall below this threshold are ineligible to receive seats.

## Background

In the previous election held on 14 May 2017, the CDU became the largest party with 33.0% of votes cast, an increase of seven percentage points. The SPD lost eight points and placed second with 31.2% of votes. The FDP won 12.6% (+4.0 pp), and the Greens fell to 6.4% (–4.9 pp). The AfD contested its first election in North Rhine-Westphalia, winning 7.4%. Other parties were not able to enter parliament, The Left only closely missing the electoral threshold of 5% winning 4.9% (+2.4 pp).
The SPD had led a coalition with the Greens since 2010 (→ cabinets Kraft I und Kraft II), but this government lost its majority in the election. The CDU subsequently formed a coalition with the FDP, and Armin Laschet became Minister-President (→ Cabinet Laschet).
After unsuccessfully leading the CDU/CSU in the 2021 German federal election, Laschet resigned as Minister-President. Hendrik Wüst was elected by the Landtag as his successor on 27 October 2021.

## Parties

The table below lists parties represented in the 17th Landtag of North Rhine-Westphalia.
| Name | Name | Name | Ideology | Lead candidate(s) | Leader(s) | 2017 result | 2017 result |
| Name | Name | Name | Ideology | Lead candidate(s) | Leader(s) | Votes (%) | Seats |
| | CDU | Christian Democratic Union of Germany Christlich Demokratische Union Deutschlands | Christian democracy | Hendrik Wüst | Hendrik Wüst | 33.0% | 72 / 199 |
| | SPD | Social Democratic Party of Germany Sozialdemokratische Partei Deutschlands | Social democracy | Thomas Kutschaty | Thomas Kutschaty | 31.2% | 69 / 199 |
| | FDP | Free Democratic Party Freie Demokratische Partei | Classical liberalism | Joachim Stamp | Joachim Stamp | 12.6% | 28 / 199 |
| | AfD | Alternative for Germany Alternative für Deutschland | Right-wing populism | Markus Wagner | Rüdiger Lucassen | 7.4% | 16 / 199 |
| | Grüne | Alliance 90/The Greens Bündnis 90/Die Grünen | Green politics | Mona Neubaur | Felix Banaszak Mona Neubaur | 6.4% | 14 / 199 |

## Opinion polling
### Party polling

| Polling firm | Fieldwork date | Sample size | CDU | SPD | FDP | AfD | Grüne | Linke | Others | Lead |
| 2022 state election | 15 May 2022 | – | 35.7 | 26.7 | 5.9 | 5.4 | 18.2 | 2.1 | 6.1 | 9.0 |
| Wahlkreisprognose | 12–13 May 2022 | 1,652 | 33 | 28.5 | 6 | 6.5 | 16.5 | 3 | 6.5 | 4.5 |
| Forschungsgruppe Wahlen | 9–12 May 2022 | 2,254 | 32 | 29 | 6 | 7 | 17 | 3 | 6 | 3 |
| YouGov | 6–12 May 2022 | 1,046 | 31 | 28 | 10 | 7 | 15 | 4 | 5 | 3 |
| INSA | 9–10 May 2022 | 1,000 | 32 | 28 | 8 | 7 | 16 | 3 | 6 | 4 |
| INSA | 2–9 May 2022 | 1,000 | 31 | 29 | 8 | 7 | 16 | 3 | 6 | 2 |
| Wahlkreisprognose | 5–6 May 2022 | 2,127 | 30 | 29.5 | 9 | 7 | 16.5 | 2.5 | 5.5 | 0.5 |
| Forschungsgruppe Wahlen | 3–5 May 2022 | 1,026 | 30 | 28 | 7 | 7 | 18 | 3 | 7 | 2 |
| Infratest dimap | 2–4 May 2022 | 1,537 | 30 | 28 | 8 | 8 | 16 | 3 | 7 | 2 |
| Wahlkreisprognose | 1 May 2022 | 1,853 | 30.5 | 31 | 9 | 6 | 16.5 | 2.5 | 4.5 | 0.5 |
| Forsa | 19–26 Apr 2022 | 2,006 | 32 | 28 | 7 | 6 | 17 | 3 | 7 | 4 |
| Wahlkreisprognose | 20–22 Apr 2022 | 1,445 | 31 | 31.5 | 6.5 | 7.5 | 15 | 2.5 | 6 | 0.5 |
| Infratest dimap | 19–21 Apr 2022 | 1,164 | 31 | 30 | 8 | 7 | 16 | 3 | 5 | 1 |
| INSA | 11–13 Apr 2022 | 1,000 | 29 | 31 | 10 | 7 | 14 | 4 | 5 | 2 |
| Forsa | 4–11 Apr 2022 | 1,821 | 30 | 30 | 8 | 6 | 18 | 2 | 6 | Tie |
| Wahlkreisprognose | 8–9 Apr 2022 | 1,230 | 27.5 | 33 | 7.5 | 6 | 17.5 | 3 | 5.5 | 5.5 |
| INSA | 28 Mar–4 Apr 2022 | 1,000 | 28 | 30 | 10 | 7 | 15 | 4 | 6 | 2 |
| Infratest dimap | 29–31 Mar 2022 | 1,182 | 31 | 30 | 8 | 7 | 15 | 4 | 5 | 1 |
| Wahlkreisprognose | 11–13 Mar 2022 | 1,100 | 30.5 | 31 | 9.5 | 5 | 15.5 | 2.5 | 5.5 | 0.5 |
| Forsa | 2–9 Mar 2022 | 2,006 | 32 | 27 | 8 | 6 | 17 | 3 | 7 | 5 |
| INSA | 15–17 Feb 2022 | 1,000 | 27 | 29 | 12 | 8 | 14 | 4 | 6 | 2 |
| Wahlkreisprognose | 13–17 Feb 2022 | 1,874 | 29 | 30 | 10 | 8 | 13.5 | 4 | 5.5 | 1 |
| Forsa | 26 Jan–2 Feb 2022 | 2,006 | 29 | 27 | 9 | 7 | 18 | 4 | 6 | 2 |
| INSA | 24 Jan–2 Feb 2022 | 2,000 | 26 | 28 | 12 | 8 | 14 | 4 | 8 | 2 |
| Infratest dimap | 24–27 Jan 2022 | 1,160 | 28 | 28 | 10 | 8 | 17 | 3 | 6 | Tie |
| Wahlkreisprognose | 19–20 Jan 2022 | 1,230 | 30 | 27 | 11 | 9 | 13.5 | 4 | 5.5 | 3 |
| Wahlkreisprognose | 12–20 Dec 2021 | 1,210 | 29 | 28 | 12 | 7 | 15 | 3 | 6 | 1 |
| Forsa | 26 Nov–7 Dec 2021 | 2,009 | 27 | 27 | 12 | 7 | 17 | 4 | 6 | Tie |
| Wahlkreisprognose | 24–28 Nov 2021 | 1,400 | 25 | 28 | 13.5 | 8.5 | 16 | 4 | 5 | 3 |
| Wahlkreisprognose | 11–16 Nov 2021 | 1,004 | 27 | 29 | 12 | 7 | 16.5 | 3.5 | 5 | 2 |
| Wahlkreisprognose | 26–31 Oct 2021 | 1,009 | 27 | 30 | 14 | 5 | 16 | 3 | 5 | 3 |
| Infratest dimap | 18–21 Oct 2021 | 1,172 | 22 | 31 | 13 | 7 | 17 | 3 | 7 | 9 |
| Wahlkreisprognose | 16–19 Oct 2021 | 1,320 | 22 | 30 | 16 | 6 | 16.5 | 2.5 | 7 | 8 |
| INSA | 4–10 Oct 2021 | 1,000 | 20 | 33 | 15 | 8 | 13 | 4 | 7 | 13 |
| 2021 federal election | 26 Sep 2021 | – | 26.0 | 29.1 | 11.4 | 7.3 | 16.1 | 3.7 | 6.5 | 3.1 |
| Wahlkreisprognose | 1–9 Aug 2021 | – | 25 | 24.5 | 12 | 9 | 20 | 4.5 | 5 | 0.5 |
| Wahlkreisprognose | 8–15 Jul 2021 | – | 30 | 23.5 | 11 | 8.5 | 18 | 4 | 5 | 6.5 |
| Forsa | 10–17 May 2021 | 1,058 | 25 | 19 | 12 | 7 | 26 | 4 | 7 | 1 |
| INSA | 3–10 May 2021 | 2,014 | 25 | 20 | 11 | 9 | 26 | 4.5 | 4.5 | 1 |
| Infratest dimap | 6–8 Apr 2021 | 1,197 | 28 | 18 | 11 | 8 | 26 | 3 | 6 | 2 |
| Infratest dimap | 25–28 Jan 2021 | 1,000 | 37 | 17 | 8 | 6 | 24 | 3 | 5 | 13 |
| INSA | 22–28 Oct 2020 | 1,008 | 33 | 23 | 8 | 8 | 19 | 5 | 4 | 10 |
| Infratest dimap | 24–29 Aug 2020 | 1,002 | 34 | 21 | 7 | 7 | 22 | 4 | 5 | 12 |
| Infratest dimap | 8–9 Jun 2020 | 1,001 | 37 | 20 | 7 | 7 | 20 | 4 | 5 | 17 |
| Infratest dimap | 14–16 Apr 2020 | 1,003 | 40 | 19 | 7 | 6 | 20 | 4 | 4 | 20 |
| Forsa | 6–8 Apr 2020 | 1,084 | 39 | 20 | 8 | 6 | 15 | 6 | 6 | 19 |
| Infratest dimap | 24–29 Oct 2019 | 1,001 | 32 | 20 | 8 | 7 | 23 | 6 | 4 | 9 |
| Mentefactum | 14–21 Oct 2019 | 1,003 | 31 | 20 | 10 | 10 | 21 | 5 | 4 | 10 |
| Forsa | 1–16 Aug 2019 | 1,505 | 29 | 18 | 11 | 7 | 24 | 5 | 6 | 5 |
| 2019 EP election | 26 May 2019 | – | 27.9 | 19.2 | 6.7 | 8.5 | 23.2 | 4.2 | 10.3 | 5.7 |
| Infratest dimap | 19–21 Feb 2019 | 1,001 | 30 | 23 | 12 | 9 | 17 | 6 | 3 | 7 |
| Mentefactum | 19–21 Nov 2018 | 1,004 | 28 | 19 | 11 | 11 | 19 | 8 | 5 | 9 |
| Infratest dimap | 4–6 Oct 2018 | 1,000 | 28 | 21 | 11 | 12 | 17 | 8 | 3 | 7 |
| YouGov | 6–12 Sep 2018 | 1,049 | 31 | 24 | 10 | 13 | 10 | 7 | 5 | 7 |
| Infratest dimap | 7–8 May 2018 | 1,002 | 35 | 22 | 9 | 12 | 12 | 7 | 3 | 13 |
| Forsa | 8–22 Feb 2018 | 1,015 | 34 | 24 | 12 | 7 | 10 | 7 | 6 | 10 |
| Infratest dimap | 9–11 Jan 2018 | 1,002 | 34 | 28 | 10 | 9 | 9 | 7 | 3 | 6 |
| 2017 federal election | 24 Sep 2017 | – | 32.6 | 26.0 | 13.1 | 9.4 | 7.6 | 7.5 | 3.8 | 6.6 |
| YouGov | 1–8 Sep 2017 | 1,048 | 35 | 30 | 9 | 9 | 6 | 8 | 3 | 5 |
| Infratest dimap | 29–31 Aug 2017 | 1,000 | 33 | 30 | 13 | 8 | 6 | 6 | 4 | 3 |
| 2017 state election | 14 May 2017 | – | 33.0 | 31.2 | 12.6 | 7.4 | 6.4 | 4.9 | 4.7 | 1.8 |

## Results

| Party | Party | Votes | % | Seats | Votes | % | Swing | Total seats | +/– |
| | Christian Democratic Union of Germany (CDU) | 2,607,596 | 36.6 | 76 | 2,552,276 | 35.7 | 2.8 | 76 | 4 |
| | Social Democratic Party of Germany (SPD) | 2,092,933 | 29.4 | 45 | 1,905,002 | 26.7 | 4.6 | 56 | 13 |
| | Alliance 90/The Greens (GRÜNE) | 1,269,804 | 17.8 | 7 | 1,299,821 | 18.2 | 11.8 | 39 | 25 |
| | Free Democratic Party (FDP) | 390,062 | 5.5 | 0 | 418,460 | 5.9 | 6.7 | 12 | 16 |
| | Alternative for Germany (AfD) | 368,271 | 5.2 | 0 | 388,768 | 5.4 | 1.9 | 12 | 4 |
| | The Left (DIE LINKE) | 162,005 | 2.3 | 0 | 146,634 | 2.1 | 2.8 | 0 | ±0 |
| | Die PARTEI | 82,699 | 1.2 | 0 | 76,006 | 1.1 | 0.4 | 0 | ±0 |
| | Human Environment Animal Protection Party (Tierschutzpartei) | 7,488 | 0.1 | 0 | 75,811 | 1.1 | New | 0 | New |
| | Grassroots Democratic Party of Germany (dieBasis) | 55,292 | 0.8 | 0 | 60,084 | 0.8 | New | 0 | New |
| | Free Voters (FW) | 34,886 | 0.5 | 0 | 49,985 | 0.7 | 0.3 | 0 | ±0 |
| | Volt Germany (Volt) | 27,784 | 0.4 | 0 | 45,177 | 0.6 | New | 0 | New |
| | Pirate Party Germany (Piraten) | 4,501 | 0.1 | 0 | 19,248 | 0.3 | 0.7 | 0 | ±0 |
| | Team Todenhöfer | 3,533 | 0.0 | 0 | 14,799 | 0.2 | New | 0 | New |
| | Family Party of Germany (FAMILIE) | 1,462 | 0.0 | 0 | 14,684 | 0.2 | 0.2 | 0 | ±0 |
| | Ecological Democratic Party (ÖDP) | – | – | – | 9,664 | 0.1 | 0.0 | 0 | ±0 |
| | European Party Love (LIEBE) | 739 | 0.0 | 0 | 8,235 | 0.1 | New | 0 | New |
| | The Humanists (Die Humanisten) | 280 | 0.0 | 0 | 8,211 | 0.1 | New | 0 | New |
| | Party for Health Research (Gesundheitsforschung) | – | – | – | 6,833 | 0.1 | 0.0 | 0 | ±0 |
| | Party of Progress (PdF) | – | – | – | 6,154 | 0.1 | New | 0 | New |
| | Democracy by Referendum (Volksabstimmung) | 1,038 | 0.0 | 0 | 5,606 | 0.1 | 0.0 | 0 | ±0 |
| | The Urbans. A HipHop Party (Die Urbane) | 399 | 0.0 | 0 | 5,201 | 0.1 | New | 0 | New |
| | Alliance for Innovation and Justice (BIG) | – | – | – | 4,222 | 0.1 | 0.1 | 0 | ±0 |
| | Centre Party (ZENTRUM) | 1,067 | 0.0 | 0 | 4,162 | 0.1 | 0.0 | 0 | ±0 |
| | German Sports Party (DSP) | – | – | – | 3,839 | 0.1 | New | 0 | New |
| | Marxist–Leninist Party of Germany (MLPD) | 3,544 | 0.0 | 0 | 3,354 | 0.0 | 0.1 | 0 | ±0 |
| | German Communist Party (DKP) | 1,681 | 0.0 | 0 | 3,049 | 0.0 | 0.0 | 0 | ±0 |
| | The Violets (VIOLETTEN) | 631 | 0.0 | 0 | 2,990 | 0.0 | 0.1 | 0 | ±0 |
| | neo. Wellbeing for all (neo) | – | – | – | 2,192 | 0.0 | New | 0 | New |
| | Alliance C – Christians for Germany (Bündnis C) | 476 | 0.0 | 0 | – | – | – | 0 | New |
| | The Independents (UNABHÄNGIGE) | 389 | 0.0 | 0 | – | – | – | 0 | New |
| | Liberal Democrats (LD) | 185 | 0.0 | 0 | – | – | – | 0 | ±0 |
| | Humane World (MENSCHLICHE WELT) | 158 | 0.0 | 0 | – | – | – | 0 | New |
| | Ecological Left (ÖkoLinX) | 134 | 0.0 | 0 | – | – | – | 0 | New |
| | Modern Social Party (MSP) | 85 | 0.0 | 0 | – | – | – | 0 | New |
| | Independents | 11,435 | 0.2 | 0 | – | – | – | 0 | ±0 |
| Valid | Valid | 7,130,557 | 99.0 | | 7,146,831 | 99.3 | | | |
| Invalid | Invalid | 69,736 | 1.0 | | 53,462 | 0.7 | | | |
| Total | Total | 7,200,293 | 100.0 | 128 | 7,200,293 | 100.0 | | 195 | –4 |
| Registered voters/turnout | Registered voters/turnout | 12,965,858 | 55.5 | | 12,965,858 | 55.5 | 9.6 | | |
| Source: State Returning Officer ||||||||||
* CDU vote
* AfD vote
* Linke vote
* SPD vote
* Green vote
* FDP vote

## Analysis

The results of the election were widely interpreted in the German press as a rebuke of German chancellor Olaf Scholz's and the SPD's response to the 2022 Russian invasion of Ukraine. In the initial days after the Russian invasion, Scholz promised greater military spending and aid to Ukraine but in the following months was seen as indecisive about exporting heavy weapons to Ukraine. Germany has also been less willing than other European nations to boycott Russian energy imports. North Rhine-Westphalia is located in the industrial heartland of Germany and has traditionally been the base of support for the SPD. The Greens largely benefited from the collapse in support for the SPD, as many of their policies on Ukraine are more popular with the German public.
The FDP's result was interpreted as coming from their federal ministers enjoying far less popularity than those of the Greens, popular Christian Lindner not running again, and many 2017 FDP voters migrating to the CDU to prevent Kutschaty from becoming Minister-President.

## Government formation

Since the incumbent coalition of the CDU and FDP lost its majority in the election, the formation of a new government was necessary. The Greens were considered to hold the balance of power, able to enter into coalition either with the CDU or with the SPD and FDP. They held separate talks with the CDU and SPD. The FDP declined to participate, believing a CDU–Green government was inevitable. The Greens continued exploratory talks with the CDU and began formal coalition negotiations on 31 May. In a draft agreement, the two sides proposed transitioning North Rhine-Westphalia to climate neutrality, phasing out coal by 2030, and building 1,000 additional wind turbines over five years. They also agreed to hire 10,000 additional teachers and ensure equal pay for teachers regardless of the type of school they are employed in. On 10 June, the two parties announced plans to finalise and approve a coalition agreement by 25 June, with Wüst to be re-elected as Minister-President on 28 June.
The CDU and Greens presented their coalition agreement on 23 June, committing to the policies laid out in the previous draft paper, as well as growing police hires from 2,700 to 3,000, expanding public transport by aiming for a 60% increase in the number of buses and trains by 2030, and mandating the installation of solar energy systems in new private constructions from 2025. They also agreed to phase out regulations banning wind turbines from being built within 1,000 metres of residences. The cabinet would comprise the Minister-President, seven CDU ministers, and four Greens. The coalition agreement was approved near-unanimously by a CDU conference on 25 June. The same day, it passed the Greens congress with 85%. There were objections from members who criticised the proposed separation of the agriculture portfolio from the environment ministry. The state Green Youth rejected the prospect of coalition with the CDU outright, stating they could not sufficiently address pressing issues such as climate change, affordability, and rent and housing.
Wüst was re-elected as Minister-President by the Landtag on 28 June, winning 106 votes out of 180 cast, plus one abstention. Fourteen deputies were absent, including four from the CDU and one from the Greens.