# Ulm (electoral district)

Ulm 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 291. It is located in eastern Baden-Württemberg, comprising the city of Ulm and the district of Alb-Donau-Kreis.
Ulm was created for the inaugural 1949 federal election. Since 2017, it has been represented by Ronja Kemmer of the Christian Democratic Union (CDU).

## Geography

Ulm is located in eastern Baden-Württemberg. As of the 2021 federal election, it comprises the independent city of Ulm and the district of Alb-Donau-Kreis.

## History

Ulm was created in 1949. In the 1949 election, it was Württemberg-Baden Landesbezirk Württemberg constituency 8 in the numbering system. In the 1953 through 1961 elections, it was number 170. In the 1965 through 1976 elections, it was number 173. In the 1980 through 1998 elections, it was number 195. In the 2002 and 2005 elections, it was number 292. Since the 2009 election, it has been number 291.
Originally, the constituency comprised the independent city of Ulm and the districts of Landkreis Ulm and Heidenheim. In the 1965 through 1976 elections, it comprised the city of Ulm and the Landkreis Ulm district. It acquired its current borders in the 1980 election.
| Election | No. | Name | Borders |
| 1949 | 8 | Ulm | Ulm city Landkreis Ulm district Heidenheim district |
| 1953 | 170 | Ulm | Ulm city Landkreis Ulm district Heidenheim district |
| 1957 | 170 | Ulm | Ulm city Landkreis Ulm district Heidenheim district |
| 1961 | 170 | Ulm | Ulm city Landkreis Ulm district Heidenheim district |
| 1965 | 173 | Ulm | Ulm city Landkreis Ulm district |
| 1969 | 173 | Ulm | Ulm city Landkreis Ulm district |
| 1972 | 173 | Ulm | Ulm city Landkreis Ulm district |
| 1976 | 173 | Ulm | Ulm city Landkreis Ulm district |
| 1980 | 195 | Ulm | Ulm city Alb-Donau-Kreis district |
| 1983 | 195 | Ulm | Ulm city Alb-Donau-Kreis district |
| 1987 | 195 | Ulm | Ulm city Alb-Donau-Kreis district |
| 1990 | 195 | Ulm | Ulm city Alb-Donau-Kreis district |
| 1994 | 195 | Ulm | Ulm city Alb-Donau-Kreis district |
| 1998 | 195 | Ulm | Ulm city Alb-Donau-Kreis district |
| 2002 | 292 | Ulm | Ulm city Alb-Donau-Kreis district |
| 2005 | 292 | Ulm | Ulm city Alb-Donau-Kreis district |
| 2009 | 291 | Ulm | Ulm city Alb-Donau-Kreis district |
| 2013 | 291 | Ulm | Ulm city Alb-Donau-Kreis district |
| 2017 | 291 | Ulm | Ulm city Alb-Donau-Kreis district |
| 2021 | 291 | Ulm | Ulm city Alb-Donau-Kreis district |
| 2025 | 291 | Ulm | Ulm city Alb-Donau-Kreis district |

## Members

The constituency has been held continuously by Christian Democratic Union (CDU) since its creation. It was first represented by Ludwig Erhard from 1949 to 1972. Erhard served as Chancellor from 1963 to 1966. Herbert Werner served as representative from 1972 to 1994, followed by Heinz Seiffert 1994 to 2002. Annette Schavan then served from 2002 to 2017. Ronja Kemmer was elected in 2017 and re-elected in 2021.
| Election | Member | Party | % |
| 1949 | Ludwig Erhard | CDU | 40.1 |
| 1953 | Ludwig Erhard | CDU | 60.6 |
| 1957 | Ludwig Erhard | CDU | 58.4 |
| 1961 | Ludwig Erhard | CDU | 53.2 |
| 1965 | Ludwig Erhard | CDU | 58.2 |
| 1969 | Ludwig Erhard | CDU | 53.1 |
| 1972 | Herbert Werner | CDU | 51.0 |
| 1976 | Herbert Werner | CDU | 52.5 |
| 1980 | Herbert Werner | CDU | 53.7 |
| 1983 | Herbert Werner | CDU | 61.5 |
| 1987 | Herbert Werner | CDU | 54.1 |
| 1990 | Herbert Werner | CDU | 51.3 |
| 1994 | Heinz Seiffert | CDU | 50.8 |
| 1998 | Heinz Seiffert | CDU | 46.6 |
| 2002 | Heinz Seiffert | CDU | 51.7 |
| 2005 | Annette Schavan | CDU | 48.7 |
| 2009 | Annette Schavan | CDU | 42.8 |
| 2013 | Annette Schavan | CDU | 52.1 |
| 2017 | Ronja Kemmer | CDU | 42.7 |
| 2021 | Ronja Kemmer | CDU | 32.7 |
| 2025 | Ronja Kemmer | CDU | 38.8 |

## Election results
### 2025 election

Federal election (2025): Ulm :
| 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 Ronja Kemmer | Y Ronja Kemmer | 73,229 | 38.8 | 6.1 | 64,118 | 33.9 | 7.3 |
| | AfD | Daniel Rottmann | Daniel Rottmann | 34,984 | 18.5 | 9.5 | 36,440 | 19.3 | 10.2 |
| | Greens | Marcel Emmerich | Marcel Emmerich | 29,343 | 15.5 | 3.2 | 25,669 | 13.6 | 4.2 |
| | SPD | Sebastian Gillmeister | Sebastian Gillmeister | 25,216 | 13.4 | 4.9 | 25,474 | 13.5 | 7.2 |
| | Left | Leopold Hurst | Leopold Hurst | 9,376 | 5.0 | 2.4 | 12,210 | 6.5 | 3.4 |
| | BSW | | | | | | 7,377 | 3.9 | |
| | FDP | Anke Hillmann-Richter | Anke Hillmann-Richter | 6,700 | 3.5 | 7.7 | 9,748 | 5.2 | 9.3 |
| | FW | Thomas Walcher | Thomas Walcher | 3,799 | 2.0 | 0.8 | 2,556 | 1.4 | 0.8 |
| | Tierschutzpartei | Bastian Röhm | Bastian Röhm | 2,962 | 1.6 | 0.3 | 1,751 | 0.9 | 0.5 |
| | Volt | Michael Bauersfeld | Michael Bauersfeld | 1,717 | 0.9 | | 1,289 | 0.7 | 0.4 |
| | BD | Manfred Spähn | Manfred Spähn | 1,226 | 0.6 | | 439 | 0.2 | |
| | PARTEI | | | | | 1.1 | 737 | 0.4 | 0.5 |
| | dieBasis | | | | | | 530 | 0.3 | 1.2 |
| | ÖDP | | | | | | 409 | 0.2 | 0.1 |
| | Bündnis C | | | | | | 297 | 0.2 | |
| | MLPD | Gisela Schwalb | Gisela Schwalb | 218 | 0.1 | 0.0 | 76 | 0.0 | 0.0 |
| | Pirates | | | | | 0.9 | | | 0.5 |
| | Team Todenhöfer | | | | | | | | 0.5 |
| | Humanists | Andreas Steinau | Andreas Steinau | | | 0.3 | | | 0.2 |
| | Gesundheitsforschung | | | | | | | | 0.1 |
| Informal votes | Informal votes | Informal votes | Informal votes | 1,539 | | | 1,372 | | |
| Total valid votes | Total valid votes | Total valid votes | Total valid votes | 175,998 | | | 176,165 | | |
| Turnout | Turnout | Turnout | Turnout | 177,537 | 79.5 | 0.2 | | | |
| | CDU hold | CDU hold | Majority | 38,245 | 20.3 | 2.9 | | | |

### 2021 election

Federal election (2021): Ulm :
| 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 Ronja Kemmer | Y Ronja Kemmer | 57,608 | 32.7 | 9.9 | 46,805 | 26.6 | 10.4 |
| | Greens | Marcel Emmerich | Marcel Emmerich | 33,012 | 18.8 | 6.8 | 31,238 | 17.7 | 4.0 |
| | SPD | Jan Rothenbacher | Jan Rothenbacher | 32,176 | 18.3 | 1.9 | 36,418 | 20.7 | 4.8 |
| | FDP | Alexander Kulitz | Alexander Kulitz | 19,745 | 11.2 | 3.1 | 25,389 | 14.4 | 2.9 |
| | AfD | Kristoff Heitmann | Kristoff Heitmann | 15,932 | 9.1 | 1.6 | 16,046 | 9.1 | 2.5 |
| | FW | Oliver Lang | Oliver Lang | 4,961 | 2.8 | | 3,808 | 2.2 | 1.4 |
| | Left | David Rizzotto | David Rizzotto | 4,604 | 2.6 | 2.0 | 5,377 | 3.1 | 2.6 |
| | dieBasis | | | | | | 2,566 | 1.5 | |
| | Tierschutzpartei | Miriam Broux | Miriam Broux | 3,303 | 1.9 | | 2,491 | 1.4 | 0.6 |
| | PARTEI | Paul Eberhardt | Paul Eberhardt | 2,002 | 1.1 | | 1,529 | 0.9 | 0.2 |
| | Pirates | Anja Hirschel | Anja Hirschel | 1,669 | 0.9 | 0.7 | 914 | 0.5 | 0.1 |
| | Team Todenhöfer | | | | | | 820 | 0.5 | |
| | Volt | | | | | | 552 | 0.3 | |
| | ÖDP | | | | | | 515 | 0.3 | 0.1 |
| | Bündnis C | | | | | | 353 | 0.2 | |
| | Humanists | Andreas Steinau | Andreas Steinau | 481 | 0.3 | | 310 | 0.2 | |
| | KlimalisteBW | Daniel Wagner | Daniel Wagner | 369 | 0.2 | | | | |
| | Gesundheitsforschung | | | | | | 252 | 0.1 | |
| | Bürgerbewegung | | | | | | 212 | 0.1 | |
| | The Homeland | | | | | | 173 | 0.1 | 0.2 |
| | DiB | | | | | | 143 | 0.1 | 0.1 |
| | MLPD | Gülay Öztoprak | Gülay Öztoprak | 136 | 0.1 | 0.1 | 87 | 0.0 | 0.0 |
| | Bündnis 21 | | | | | | 68 | 0.0 | |
| | LKR | | | | | | 63 | 0.0 | |
| | DKP | | | | | | 36 | 0.0 | 0.0 |
| Informal votes | Informal votes | Informal votes | Informal votes | 1,539 | | | 1,372 | | |
| Total valid votes | Total valid votes | Total valid votes | Total valid votes | 175,998 | | | 176,165 | | |
| Turnout | Turnout | Turnout | Turnout | 177,537 | 79.5 | 0.2 | | | |
| | CDU hold | CDU hold | Majority | 24,596 | 13.9 | 8.6 | | | |

### 2017 election

Federal election (2017): Ulm :
| 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 | Ronja Kemmer | Ronja Kemmer | 74,849 | 42.7 | 9.4 | 64,988 | 37.0 | 11.6 |
| | SPD | Hilde Mattheis | Hilde Mattheis | 35,456 | 20.2 | 3.6 | 27,889 | 15.9 | 4.3 |
| | Greens | Marcel Emmerich | Marcel Emmerich | 20,990 | 12.0 | 2.2 | 24,160 | 13.7 | 3.5 |
| | AfD | Eugen Ciresa | Eugen Ciresa | 18,734 | 10.7 | 7.0 | 20,432 | 11.6 | 6.9 |
| | FDP | Alexander Kulitz | Alexander Kulitz | 14,173 | 8.1 | 5.4 | 20,277 | 11.5 | 6.3 |
| | Left | Eva-Maria Glathe-Braun | Eva-Maria Glathe-Braun | 8,105 | 4.6 | 1.0 | 9,976 | 5.7 | 1.4 |
| | Tierschutzpartei | | | | | | 1,412 | 0.8 | 0.1 |
| | FW | | | | | | 1,275 | 0.7 | 0.0 |
| | PARTEI | | | | | | 1,258 | 0.7 | |
| | Pirates | Anja Hirschel | Anja Hirschel | 2,837 | 1.6 | 1.0 | 1,048 | 0.6 | 1.9 |
| | ÖDP | | | | | | 672 | 0.4 | 0.1 |
| | The Homeland | | | | | | 499 | 0.3 | 0.8 |
| | Tierschutzallianz | | | | | | 385 | 0.2 | |
| | DM | | | | | | 370 | 0.2 | |
| | BGE | | | | | | 309 | 0.2 | |
| | DiB | | | | | | 274 | 0.2 | |
| | V-Partei³ | | | | | | 257 | 0.1 | |
| | Menschliche Welt | | | | | | 217 | 0.1 | |
| | MLPD | Gülay Öztoprak | Gülay Öztoprak | 300 | 0.2 | | 102 | 0.1 | 0.0 |
| | DIE RECHTE | | | | | | 44 | 0.0 | |
| | DKP | | | | | | 19 | 0.0 | |
| Informal votes | Informal votes | Informal votes | Informal votes | 2,016 | | | 1,597 | | |
| Total valid votes | Total valid votes | Total valid votes | Total valid votes | 175,444 | | | 175,863 | | |
| Turnout | Turnout | Turnout | Turnout | 177,460 | 79.7 | 3.9 | | | |
| | CDU hold | CDU hold | Majority | 39,393 | 22.5 | 5.8 | | | |

### 2013 election

Federal election (2013): Ulm :
| 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 Annette Schavan | Y Annette Schavan | 85,984 | 52.1 | 9.3 | 80,370 | 48.6 | 12.6 |
| | SPD | Hilde Mattheis | Hilde Mattheis | 39,321 | 23.8 | 1.2 | 33,432 | 20.2 | 2.3 |
| | Greens | Annette Weinreich | Annette Weinreich | 16,041 | 9.7 | 3.8 | 17,023 | 10.3 | 4.1 |
| | Left | Eva-Maria Glathe-Braun | Eva-Maria Glathe-Braun | 6,012 | 3.6 | 2.4 | 7,087 | 4.3 | 2.4 |
| | AfD | Werner Otto Greipel | Werner Otto Greipel | 5,989 | 3.6 | | 7,839 | 4.7 | |
| | FDP | Frank Berger | Frank Berger | 4,371 | 2.6 | 8.9 | 8,662 | 5.2 | 12.8 |
| | Pirates | Lisa Collins | Lisa Collins | 4,320 | 2.6 | | 4,075 | 2.5 | 0.2 |
| | The Homeland | | | | | | 1,747 | 1.1 | 0.1 |
| | Tierschutzpartei | | | | | | 1,158 | 0.7 | 0.0 |
| | FW | Horst Dürr | Horst Dürr | 1,660 | 1.0 | | 1,147 | 0.7 | |
| | Independent | Andreas Beier | Andreas Beier | 1,348 | 0.8 | | | | |
| | ÖDP | | | | | | 724 | 0.4 | 0.1 |
| | REP | | | | | | 553 | 0.3 | 0.4 |
| | RENTNER | | | | | | 422 | 0.3 | |
| | PBC | | | | | | 344 | 0.2 | 0.2 |
| | Volksabstimmung | | | | | | 342 | 0.2 | 0.1 |
| | PRO | | | | | | 147 | 0.1 | |
| | Party of Reason | | | | | | 141 | 0.1 | |
| | MLPD | | | | | | 114 | 0.1 | 0.0 |
| | BIG | | | | | | 95 | 0.1 | |
| | BüSo | | | | | | 46 | 0.0 | 0.0 |
| Informal votes | Informal votes | Informal votes | Informal votes | 2,153 | | | 1,731 | | |
| Total valid votes | Total valid votes | Total valid votes | Total valid votes | 165,046 | | | 165,468 | | |
| Turnout | Turnout | Turnout | Turnout | 167,199 | 75.8 | 1.9 | | | |
| | CDU hold | CDU hold | Majority | 46,663 | 28.3 | 8.1 | | | |

### 2009 election

Federal election (2009): Ulm :
| 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 Annette Schavan | Y Annette Schavan | 67,798 | 42.8 | 5.9 | 57,158 | 35.9 | 6.1 |
| | SPD | Hilde Mattheis | Hilde Mattheis | 35,875 | 22.6 | 10.3 | 28,426 | 17.9 | 10.8 |
| | Greens | Brigitte Schmid | Brigitte Schmid | 21,477 | 13.6 | 6.0 | 22,889 | 14.4 | 3.8 |
| | FDP | Uli Walter | Uli Walter | 18,273 | 11.5 | 6.4 | 28,708 | 18.0 | 6.7 |
| | Left | Walter Schmid | Walter Schmid | 9,605 | 6.1 | 3.2 | 10,644 | 6.7 | 3.4 |
| | Pirates | | | | | | 4,306 | 2.7 | |
| | The Homeland | Alexander Neidlein | Alexander Neidlein | 2,510 | 1.6 | 0.1 | 1,792 | 1.1 | 0.1 |
| | Independent | Andreas Beier | Andreas Beier | 2,329 | 1.5 | | | | |
| | REP | | | | | | 1,210 | 0.8 | 0.2 |
| | Tierschutzpartei | | | | | | 1,087 | 0.7 | |
| | ÖDP | | | | | | 859 | 0.5 | |
| | PBC | | | | | | 646 | 0.4 | 0.1 |
| | Volksabstimmung | | | | | | 525 | 0.3 | |
| | DIE VIOLETTEN | | | | | | 392 | 0.2 | |
| | MLPD | Joachim Struzyna | Joachim Struzyna | 309 | 0.2 | | 161 | 0.1 | 0.0 |
| | Independent | Friedrich Schönbeck | Friedrich Schönbeck | 229 | 0.1 | | | | |
| | DVU | | | | | | 130 | 0.1 | |
| | BüSo | | | | | | 97 | 0.1 | 0.0 |
| | ADM | | | | | | 77 | 0.0 | |
| Informal votes | Informal votes | Informal votes | Informal votes | 3,268 | | | 2,566 | | |
| Total valid votes | Total valid votes | Total valid votes | Total valid votes | 158,405 | | | 159,107 | | |
| Turnout | Turnout | Turnout | Turnout | 161,673 | 73.9 | 6.1 | | | |
| | CDU hold | CDU hold | Majority | 31,923 | 20.2 | 4.4 | | | |