# Stadt Osnabrück

Stadt Osnabrück (English: Osnabrück City) is an electoral constituency (German: Wahlkreis) represented in the Bundestag. It elects one member via first-past-the-post voting. Under the current constituency numbering system, it is designated as constituency 39. It is located in western Lower Saxony, comprising the independent city of Osnabrück.
Stadt Osnabrück was created for the inaugural 1949 federal election. From 2021-2025, it has been represented by Manuel Gava of the Social Democratic Party (SPD). Since 2025 it is been represented by Mathias Middelberg of the CDU.

## Geography

Stadt Osnabrück is located in western Lower Saxony. As of the 2021 federal election, it comprises the independent city of Osnabrück and the municipalities of Belm, Georgsmarienhütte, Hagen am Teutoburger Wald, Hasbergen, and Wallenhorst from the district of Osnabrück.

## History

Stadt Osnabrück was created in 1949, then known as Osnabrück-Stadt und -Land. In the 1965 through 1983 elections, it was simply named Osnabrück. It acquired its current name in the 1987 election. In the inaugural Bundestag election, it was Lower Saxony constituency 6 in the numbering system. From 1953 through 1961, it was number 28. From 1965 through 1998, it was number 33. In the 2002 and 2005 elections, it was number 39. In the 2009 election, it was number 40. Since the 2013 election, it has been number 39.
Originally, the constituency comprised the independent city of Osnabrück and the entirety of the district of Osnabrück, which at the time was significantly smaller than its present area. In the 1980 election, it acquired its current borders.
| Election | No. | Name | Borders |
| 1949 | 6 | Osnabrück-Stadt und -Land | Osnabrück city Osnabrück district |
| 1953 | 28 | Osnabrück-Stadt und -Land | Osnabrück city Osnabrück district |
| 1957 | 28 | Osnabrück-Stadt und -Land | Osnabrück city Osnabrück district |
| 1961 | 28 | Osnabrück-Stadt und -Land | Osnabrück city Osnabrück district |
| 1965 | 33 | Osnabrück | Osnabrück city Osnabrück district |
| 1969 | 33 | Osnabrück | Osnabrück city Osnabrück district |
| 1972 | 33 | Osnabrück | Osnabrück city Osnabrück district |
| 1976 | 33 | Osnabrück | Osnabrück city Osnabrück district |
| 1980 | 33 | Osnabrück | Osnabrück city Osnabrück district (only Belm, Georgsmarienhütte, Hagen am Teutoburger Wald, Hasbergen, and Wallenhorst municipalities) |
| 1983 | 33 | Osnabrück | Osnabrück city Osnabrück district (only Belm, Georgsmarienhütte, Hagen am Teutoburger Wald, Hasbergen, and Wallenhorst municipalities) |
| 1987 | 33 | Stadt Osnabrück | Osnabrück city Osnabrück district (only Belm, Georgsmarienhütte, Hagen am Teutoburger Wald, Hasbergen, and Wallenhorst municipalities) |
| 1990 | 33 | Stadt Osnabrück | Osnabrück city Osnabrück district (only Belm, Georgsmarienhütte, Hagen am Teutoburger Wald, Hasbergen, and Wallenhorst municipalities) |
| 1994 | 33 | Stadt Osnabrück | Osnabrück city Osnabrück district (only Belm, Georgsmarienhütte, Hagen am Teutoburger Wald, Hasbergen, and Wallenhorst municipalities) |
| 1998 | 33 | Stadt Osnabrück | Osnabrück city Osnabrück district (only Belm, Georgsmarienhütte, Hagen am Teutoburger Wald, Hasbergen, and Wallenhorst municipalities) |
| 2002 | 39 | Stadt Osnabrück | Osnabrück city Osnabrück district (only Belm, Georgsmarienhütte, Hagen am Teutoburger Wald, Hasbergen, and Wallenhorst municipalities) |
| 2005 | 39 | Stadt Osnabrück | Osnabrück city Osnabrück district (only Belm, Georgsmarienhütte, Hagen am Teutoburger Wald, Hasbergen, and Wallenhorst municipalities) |
| 2009 | 40 | Stadt Osnabrück | Osnabrück city Osnabrück district (only Belm, Georgsmarienhütte, Hagen am Teutoburger Wald, Hasbergen, and Wallenhorst municipalities) |
| 2013 | 39 | Stadt Osnabrück | Osnabrück city Osnabrück district (only Belm, Georgsmarienhütte, Hagen am Teutoburger Wald, Hasbergen, and Wallenhorst municipalities) |
| 2017 | 39 | Stadt Osnabrück | Osnabrück city Osnabrück district (only Belm, Georgsmarienhütte, Hagen am Teutoburger Wald, Hasbergen, and Wallenhorst municipalities) |
| 2021 | 39 | Stadt Osnabrück | Osnabrück city Osnabrück district (only Belm, Georgsmarienhütte, Hagen am Teutoburger Wald, Hasbergen, and Wallenhorst municipalities) |
| 2025 | 39 | Stadt Osnabrück | Osnabrück city Osnabrück district (only Belm, Georgsmarienhütte, Hagen am Teutoburger Wald, Hasbergen, and Wallenhorst municipalities) |

## Members

The constituency was first held by Anton Storch of the Christian Democratic Union (CDU), who served from 1949 until 1965. He was succeeded by fellow CDU member Ferdinand Erpenbeck. In 1972, Alfred Emmerlich of the Social Democratic Party (SPD) won the constituency. In 1976, Karl-Heinz Hornhues of the CDU was elected representative, but Emmerlich won again in 1980. Hornhues was against elected in 1983, and served until 1998. In 1998, Ernst Schwanhold of the SPD won the constituency. He was succeeded by fellow SPD member Martin Schwanholz in 2002. Mathias Middelberg of the CDU was elected in 2009, and re-elected in 2013 and 2017. Manuel Gava regained it for the SPD in 2021.
| Election | Member | Party | % |
| 1949 | Anton Storch | CDU | 35.4 |
| 1953 | Anton Storch | CDU | 52.1 |
| 1957 | Anton Storch | CDU | 52.3 |
| 1961 | Anton Storch | CDU | 47.1 |
| 1965 | Ferdinand Erpenbeck | CDU | 50.0 |
| 1969 | Ferdinand Erpenbeck | CDU | 49.0 |
| 1972 | Alfred Emmerlich | SPD | 48.7 |
| 1976 | Karl-Heinz Hornhues | CDU | 48.8 |
| 1980 | Alfred Emmerlich | SPD | 49.4 |
| 1983 | Karl-Heinz Hornhues | CDU | 51.0 |
| 1987 | Karl-Heinz Hornhues | CDU | 45.8 |
| 1990 | Karl-Heinz Hornhues | CDU | 47.4 |
| 1994 | Karl-Heinz Hornhues | CDU | 46.8 |
| 1998 | Ernst Schwanhold | SPD | 47.8 |
| 2002 | Martin Schwanholz | SPD | 45.7 |
| 2005 | Martin Schwanholz | SPD | 44.1 |
| 2009 | Mathias Middelberg | CDU | 38.4 |
| 2013 | Mathias Middelberg | CDU | 45.7 |
| 2017 | Mathias Middelberg | CDU | 40.3 |
| 2021 | Manuel Gava | SPD | 30.3 |

## Election results
### 2025 election

Federal election (2025): Stadt Osnabrück :
| Notes: | Notes: | Blue background denotes the winner of the electorate vote. Pink background denotes a candidate elected from their party list. Yellow background denotes an electorate win by a list member, or other incumbent. A Y or N denotes status of any incumbent, win or lose respectively. | Blue background denotes the winner of the electorate vote. Pink background denotes a candidate elected from their party list. Yellow background denotes an electorate win by a list member, or other incumbent. A Y or N denotes status of any incumbent, win or lose respectively. | Blue background denotes the winner of the electorate vote. Pink background denotes a candidate elected from their party list. Yellow background denotes an electorate win by a list member, or other incumbent. A Y or N denotes status of any incumbent, win or lose respectively. | Blue background denotes the winner of the electorate vote. Pink background denotes a candidate elected from their party list. Yellow background denotes an electorate win by a list member, or other incumbent. A Y or N denotes status of any incumbent, win or lose respectively. | Blue background denotes the winner of the electorate vote. Pink background denotes a candidate elected from their party list. Yellow background denotes an electorate win by a list member, or other incumbent. A Y or N denotes status of any incumbent, win or lose respectively. | Blue background denotes the winner of the electorate vote. Pink background denotes a candidate elected from their party list. Yellow background denotes an electorate win by a list member, or other incumbent. A Y or N denotes status of any incumbent, win or lose respectively. | Blue background denotes the winner of the electorate vote. Pink background denotes a candidate elected from their party list. Yellow background denotes an electorate win by a list member, or other incumbent. A Y or N denotes status of any incumbent, win or lose respectively. | Blue background denotes the winner of the electorate vote. Pink background denotes a candidate elected from their party list. Yellow background denotes an electorate win by a list member, or other incumbent. A Y or N denotes status of any incumbent, win or lose respectively. |
| Party | Party | Candidate | Candidate | Votes | % | ±% | Party votes | % | ±% |
| | CDU | Mathias Middelberg | Mathias Middelberg | 47,728 | 29.7 | 0.5 | 42,265 | 26.3 | 3.1 |
| | SPD | Thomas Vaupel | Thomas Vaupel | 45,260 | 28.2 | 2.1 | 39,356 | 24.5 | 5.8 |
| | Greens | Luca Wirkus | Luca Wirkus | 21,953 | 13.7 | 9.4 | 25.670 | 16.0 | 7.3 |
| | Left | Heidi Reichinnek | Heidi Reichinnek | 18,862 | 11.8 | 7.0 | 17,804 | 11.1 | 6.9 |
| | AfD | Florian Meyer | Florian Meyer | 18,264 | 11.4 | 6.9 | 18,544 | 11.5 | 6.9 |
| | BSW | | | | | | 5,511 | 3.4 | |
| | FDP | Daniel Jutzi | Daniel Jutzi | 4,178 | 2.6 | 4.2 | 6,650 | 4.1 | 5.7 |
| | Volt | Dorothe Stahljans | Dorothe Stahljans | 1,962 | 1.2 | | 1,259 | 0.8 | 0.4 |
| | FW | Andreas Möller | Andreas Möller | 1,841 | 1.1 | | 846 | 0.5 | 0.2 |
| | Tierschutzpartei | | | | | | 1,325 | 0.8 | 0.0 |
| | PARTEI | | | | | | 693 | 0.4 | 0.5 |
| | Independent | Tim Knauer | Tim Knauer | 468 | 0.3 | | | | |
| | dieBasis | | | | | | 426 | 0.3 | 0.7 |
| | Pirates | | | | | | 223 | 0.1 | 0.2 |
| | BD | | | | | | 141 | 0.1 | |
| | Humanists | | | | | | 108 | 0.1 | 0.0 |
| | MLPD | | | | | | 51 | 0.0 | 0.0 |
| Informal votes | Informal votes | Informal votes | Informal votes | 1,020 | | | 664 | | |
| Total valid votes | Total valid votes | Total valid votes | Total valid votes | 160,516 | | | 160,872 | | |
| Turnout | Turnout | Turnout | Turnout | 161,536 | 84.0 | 7.5 | | | |
| | CDU gain from SPD | CDU gain from SPD | Majority | 2,468 | 1.5 | | | | |

### 2021 election

Federal election (2021): Stadt Osnabrück :
| Notes: | Notes: | Blue background denotes the winner of the electorate vote. Pink background denotes a candidate elected from their party list. Yellow background denotes an electorate win by a list member, or other incumbent. A Y or N denotes status of any incumbent, win or lose respectively. | Blue background denotes the winner of the electorate vote. Pink background denotes a candidate elected from their party list. Yellow background denotes an electorate win by a list member, or other incumbent. A Y or N denotes status of any incumbent, win or lose respectively. | Blue background denotes the winner of the electorate vote. Pink background denotes a candidate elected from their party list. Yellow background denotes an electorate win by a list member, or other incumbent. A Y or N denotes status of any incumbent, win or lose respectively. | Blue background denotes the winner of the electorate vote. Pink background denotes a candidate elected from their party list. Yellow background denotes an electorate win by a list member, or other incumbent. A Y or N denotes status of any incumbent, win or lose respectively. | Blue background denotes the winner of the electorate vote. Pink background denotes a candidate elected from their party list. Yellow background denotes an electorate win by a list member, or other incumbent. A Y or N denotes status of any incumbent, win or lose respectively. | Blue background denotes the winner of the electorate vote. Pink background denotes a candidate elected from their party list. Yellow background denotes an electorate win by a list member, or other incumbent. A Y or N denotes status of any incumbent, win or lose respectively. | Blue background denotes the winner of the electorate vote. Pink background denotes a candidate elected from their party list. Yellow background denotes an electorate win by a list member, or other incumbent. A Y or N denotes status of any incumbent, win or lose respectively. | Blue background denotes the winner of the electorate vote. Pink background denotes a candidate elected from their party list. Yellow background denotes an electorate win by a list member, or other incumbent. A Y or N denotes status of any incumbent, win or lose respectively. |
| Party | Party | Candidate | Candidate | Votes | % | ±% | Party votes | % | ±% |
| | SPD | Manuel Gava | Manuel Gava | 44,876 | 30.3 | 1.4 | 44,919 | 30.2 | 5.5 |
| | CDU | N Mathias Middelberg | N Mathias Middelberg | 43,316 | 29.2 | 11.1 | 34,462 | 23.2 | 12.5 |
| | Greens | Thomas Klein | Thomas Klein | 34,140 | 23.0 | 12.9 | 34,546 | 23.3 | 11.1 |
| | FDP | Nemir Ali | Nemir Ali | 10,090 | 6.8 | 2.1 | 14,627 | 9.8 | 0.4 |
| | Left | Heidi Reichinnek | Heidi Reichinnek | 6,977 | 4.7 | 3.7 | 6,224 | 4.2 | 4.2 |
| | AfD | Florian Meyer | Florian Meyer | 6,695 | 4.5 | | 6,903 | 4.6 | 1.6 |
| | dieBasis | Maria Anita Haunhorst | Maria Anita Haunhorst | 1,918 | 1.3 | | 1,482 | 1.0 | |
| | PARTEI | | | | | | 1,341 | 0.9 | 0.0 |
| | Tierschutzpartei | | | | | | 1,284 | 0.9 | 0.2 |
| | Team Todenhöfer | | | | | | 598 | 0.4 | |
| | FW | | | | | | 543 | 0.4 | 0.1 |
| | Volt | | | | | | 543 | 0.4 | |
| | Pirates | | | | | | 437 | 0.3 | 0.2 |
| | Humanists | | | | | | 153 | 0.1 | |
| | ÖDP | | | | | | 125 | 0.1 | 0.0 |
| | The Homeland | | | | | | 80 | 0.1 | 0.1 |
| | du. | | | | | | 79 | 0.1 | |
| | V-Partei3 | | | | | | 76 | 0.1 | 0.1 |
| | DKP | Joachim Bigus | Joachim Bigus | 194 | 0.1 | 0.5 | 52 | 0.0 | 0.0 |
| | LKR | | | | | | 25 | 0.0 | |
| | MLPD | | | | | | 11 | 0.0 | 0.0 |
| Informal votes | Informal votes | Informal votes | Informal votes | 1,335 | | | 1,031 | | |
| Total valid votes | Total valid votes | Total valid votes | Total valid votes | 148,206 | | | 148,510 | | |
| Turnout | Turnout | Turnout | Turnout | 149,541 | 76.5 | 0.8 | | | |
| | SPD gain from CDU | SPD gain from CDU | Majority | 1,560 | 1.1 | | | | |

### 2017 election

Federal election (2017): Stadt Osnabrück :
| Notes: | Notes: | Blue background denotes the winner of the electorate vote. Pink background denotes a candidate elected from their party list. Yellow background denotes an electorate win by a list member, or other incumbent. A Y or N denotes status of any incumbent, win or lose respectively. | Blue background denotes the winner of the electorate vote. Pink background denotes a candidate elected from their party list. Yellow background denotes an electorate win by a list member, or other incumbent. A Y or N denotes status of any incumbent, win or lose respectively. | Blue background denotes the winner of the electorate vote. Pink background denotes a candidate elected from their party list. Yellow background denotes an electorate win by a list member, or other incumbent. A Y or N denotes status of any incumbent, win or lose respectively. | Blue background denotes the winner of the electorate vote. Pink background denotes a candidate elected from their party list. Yellow background denotes an electorate win by a list member, or other incumbent. A Y or N denotes status of any incumbent, win or lose respectively. | Blue background denotes the winner of the electorate vote. Pink background denotes a candidate elected from their party list. Yellow background denotes an electorate win by a list member, or other incumbent. A Y or N denotes status of any incumbent, win or lose respectively. | Blue background denotes the winner of the electorate vote. Pink background denotes a candidate elected from their party list. Yellow background denotes an electorate win by a list member, or other incumbent. A Y or N denotes status of any incumbent, win or lose respectively. | Blue background denotes the winner of the electorate vote. Pink background denotes a candidate elected from their party list. Yellow background denotes an electorate win by a list member, or other incumbent. A Y or N denotes status of any incumbent, win or lose respectively. | Blue background denotes the winner of the electorate vote. Pink background denotes a candidate elected from their party list. Yellow background denotes an electorate win by a list member, or other incumbent. A Y or N denotes status of any incumbent, win or lose respectively. |
| Party | Party | Candidate | Candidate | Votes | % | ±% | Party votes | % | ±% |
| | CDU | Y Mathias Middelberg | Y Mathias Middelberg | 60,185 | 40.3 | 5.4 | 53,977 | 35.7 | 7.3 |
| | SPD | Antje Schulte-Schoh | Antje Schulte-Schoh | 47,279 | 31.6 | 3.2 | 37,336 | 24.7 | 5.8 |
| | Greens | Günther Westermann | Günther Westermann | 15,108 | 10.1 | 1.2 | 18,353 | 12.1 | 1.2 |
| | FDP | Thomas Thiele | Thomas Thiele | 13,353 | 8.9 | 6.1 | 14,309 | 9.5 | 5.3 |
| | Left | Giesela Brandes-Steggewentz | Giesela Brandes-Steggewentz | 12,521 | 8.4 | 4.2 | 12,759 | 8.4 | 3.3 |
| | AfD | | | | | | 9,499 | 6.3 | 3.6 |
| | PARTEI | | | | | | 1,361 | 0.9 | |
| | DKP | Joachim Bigus | Joachim Bigus | 962 | 0.6 | | 77 | 0.1 | |
| | Tierschutzpartei | | | | | | 933 | 0.6 | 0.0 |
| | Pirates | | | | | | 702 | 0.5 | 1.5 |
| | BGE | | | | | | 402 | 0.3 | |
| | FW | | | | | | 344 | 0.2 | 0.1 |
| | DiB | | | | | | 264 | 0.2 | |
| | DM | | | | | | 232 | 0.2 | |
| | The Homeland | | | | | | 211 | 0.1 | 0.3 |
| | V-Partei³ | | | | | | 209 | 0.1 | |
| | ÖDP | | | | | | 173 | 0.1 | |
| | MLPD | | | | | | 28 | 0.0 | 0.0 |
| Informal votes | Informal votes | Informal votes | Informal votes | 2,699 | | | 938 | | |
| Total valid votes | Total valid votes | Total valid votes | Total valid votes | 149,408 | | | 151,169 | | |
| Turnout | Turnout | Turnout | Turnout | 152,107 | 77.3 | 3.8 | | | |
| | CDU hold | CDU hold | Majority | 12,906 | 8.7 | 2.2 | | | |

### 2013 election

Federal election (2013): Stadt Osnabrück :
| Notes: | Notes: | Blue background denotes the winner of the electorate vote. Pink background denotes a candidate elected from their party list. Yellow background denotes an electorate win by a list member, or other incumbent. A Y or N denotes status of any incumbent, win or lose respectively. | Blue background denotes the winner of the electorate vote. Pink background denotes a candidate elected from their party list. Yellow background denotes an electorate win by a list member, or other incumbent. A Y or N denotes status of any incumbent, win or lose respectively. | Blue background denotes the winner of the electorate vote. Pink background denotes a candidate elected from their party list. Yellow background denotes an electorate win by a list member, or other incumbent. A Y or N denotes status of any incumbent, win or lose respectively. | Blue background denotes the winner of the electorate vote. Pink background denotes a candidate elected from their party list. Yellow background denotes an electorate win by a list member, or other incumbent. A Y or N denotes status of any incumbent, win or lose respectively. | Blue background denotes the winner of the electorate vote. Pink background denotes a candidate elected from their party list. Yellow background denotes an electorate win by a list member, or other incumbent. A Y or N denotes status of any incumbent, win or lose respectively. | Blue background denotes the winner of the electorate vote. Pink background denotes a candidate elected from their party list. Yellow background denotes an electorate win by a list member, or other incumbent. A Y or N denotes status of any incumbent, win or lose respectively. | Blue background denotes the winner of the electorate vote. Pink background denotes a candidate elected from their party list. Yellow background denotes an electorate win by a list member, or other incumbent. A Y or N denotes status of any incumbent, win or lose respectively. | Blue background denotes the winner of the electorate vote. Pink background denotes a candidate elected from their party list. Yellow background denotes an electorate win by a list member, or other incumbent. A Y or N denotes status of any incumbent, win or lose respectively. |
| Party | Party | Candidate | Candidate | Votes | % | ±% | Party votes | % | ±% |
| | CDU | Y Mathias Middelberg | Y Mathias Middelberg | 64,416 | 45.7 | 7.3 | 60,754 | 43.0 | 9.0 |
| | SPD | Martin Schwanholz | Martin Schwanholz | 49,059 | 34.8 | 1.8 | 43,099 | 30.5 | 3.8 |
| | Greens | Dorothea Steiner | Dorothea Steiner | 12,568 | 8.9 | 1.1 | 15,390 | 10.9 | 2.1 |
| | Left | Derk-Olaf Steggewentz | Derk-Olaf Steggewentz | 5,840 | 4.1 | 2.8 | 7,188 | 5.1 | 3.3 |
| | FDP | Thomas Thiele | Thomas Thiele | 3,934 | 2.8 | 7.6 | 5,874 | 4.2 | 9.8 |
| | AfD | | | | | | 3,765 | 2.7 | |
| | Pirates | Kerstin Demuth | Kerstin Demuth | 3,102 | 2.2 | | 2,794 | 2.0 | 0.2 |
| | The Homeland | Helmut Walter | Helmut Walter | 884 | 0.6 | 0.0 | 652 | 0.5 | 0.1 |
| | FW | Robert Kiauka | Robert Kiauka | 828 | 0.6 | | 472 | 0.3 | |
| | Tierschutzpartei | | | | | | 815 | 0.6 | 0.0 |
| | PBC | Ralf Gervelmeyer | Ralf Gervelmeyer | 290 | 0.2 | | 226 | 0.2 | |
| | PRO | | | | | | 88 | 0.1 | |
| | REP | | | | | | 49 | 0.0 | |
| | MLPD | | | | | | 33 | 0.0 | 0.0 |
| Informal votes | Informal votes | Informal votes | Informal votes | 1,919 | | | 1,641 | | |
| Total valid votes | Total valid votes | Total valid votes | Total valid votes | 140,921 | | | 141,199 | | |
| Turnout | Turnout | Turnout | Turnout | 142,840 | 73.5 | 1.1 | | | |
| | CDU hold | CDU hold | Majority | 15,357 | 10.9 | 5.5 | | | |

### 2009 election

Federal election (2009): Stadt Osnabrück :
| Notes: | Notes: | Blue background denotes the winner of the electorate vote. Pink background denotes a candidate elected from their party list. Yellow background denotes an electorate win by a list member, or other incumbent. A Y or N denotes status of any incumbent, win or lose respectively. | Blue background denotes the winner of the electorate vote. Pink background denotes a candidate elected from their party list. Yellow background denotes an electorate win by a list member, or other incumbent. A Y or N denotes status of any incumbent, win or lose respectively. | Blue background denotes the winner of the electorate vote. Pink background denotes a candidate elected from their party list. Yellow background denotes an electorate win by a list member, or other incumbent. A Y or N denotes status of any incumbent, win or lose respectively. | Blue background denotes the winner of the electorate vote. Pink background denotes a candidate elected from their party list. Yellow background denotes an electorate win by a list member, or other incumbent. A Y or N denotes status of any incumbent, win or lose respectively. | Blue background denotes the winner of the electorate vote. Pink background denotes a candidate elected from their party list. Yellow background denotes an electorate win by a list member, or other incumbent. A Y or N denotes status of any incumbent, win or lose respectively. | Blue background denotes the winner of the electorate vote. Pink background denotes a candidate elected from their party list. Yellow background denotes an electorate win by a list member, or other incumbent. A Y or N denotes status of any incumbent, win or lose respectively. | Blue background denotes the winner of the electorate vote. Pink background denotes a candidate elected from their party list. Yellow background denotes an electorate win by a list member, or other incumbent. A Y or N denotes status of any incumbent, win or lose respectively. | Blue background denotes the winner of the electorate vote. Pink background denotes a candidate elected from their party list. Yellow background denotes an electorate win by a list member, or other incumbent. A Y or N denotes status of any incumbent, win or lose respectively. |
| Party | Party | Candidate | Candidate | Votes | % | ±% | Party votes | % | ±% |
| | CDU | Mathias Middelberg | Mathias Middelberg | 54,522 | 38.4 | 2.1 | 48,398 | 34.0 | 1.7 |
| | SPD | N Martin Schwanholz | N Martin Schwanholz | 46,979 | 33.1 | 11.1 | 38,000 | 26.7 | 13.3 |
| | FDP | Carl-Ludwig Thiele | Carl-Ludwig Thiele | 14,823 | 10.4 | 5.1 | 19,941 | 14.0 | 4.8 |
| | Greens | Dorothea Steiner | Dorothea Steiner | 14,282 | 10.0 | 3.8 | 18,463 | 13.0 | 3.3 |
| | Left | Maren Kaminski | Maren Kaminski | 9,918 | 7.0 | 3.8 | 11,878 | 8.3 | 4.7 |
| | Pirates | | | | | | 3,168 | 2.2 | |
| | The Homeland | Jochim Schnell | Jochim Schnell | 945 | 0.7 | 0.1 | 848 | 0.6 | 0.1 |
| | Tierschutzpartei | | | | | | 880 | 0.6 | 0.2 |
| | Independent | Volker Stöckel | Volker Stöckel | 658 | 0.5 | | | | |
| | RRP | | | | | | 443 | 0.3 | |
| | ÖDP | | | | | | 216 | 0.2 | |
| | DVU | | | | | | 88 | 0.1 | |
| | MLPD | | | | | | 18 | 0.0 | 0.0 |
| Informal votes | Informal votes | Informal votes | Informal votes | 1,584 | | | 1,370 | | |
| Total valid votes | Total valid votes | Total valid votes | Total valid votes | 142,127 | | | 142,341 | | |
| Turnout | Turnout | Turnout | Turnout | 143,711 | 74.7 | 5.6 | | | |
| | CDU gain from SPD | CDU gain from SPD | Majority | 7,543 | 5.3 | | | | |