# Bonn (electoral district)

Bonn 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 95. It is located in southwestern North Rhine-Westphalia, comprising the city of Bonn.
Bonn was created for the inaugural 1949 federal election. From 2021-2025, it has been represented by Katrin Uhlig of the Alliance 90/The Greens. Since 2025 it is been represented by Hendrik Streeck of the Christian Democratic Union of Germany.

## Geography

Bonn is located in southwestern North Rhine-Westphalia. As of the 2021 federal election, it is coterminous with the independent city of Bonn.

## History

Bonn was created in 1949, then known as Bonn-Stadt und -Land. It acquired its current name in the 1965 election. In the 1949 election, it was North Rhine-Westphalia constituency 10 in the numbering system. From 1953 through 1961, it was number 69. From 1965 through 1998, it was number 63. From 2002 through 2009, it was number 97. In the 2013 through 2021 elections, it was number 96. From the 2025 election, it has been number 95.
Originally, the constituency comprised the city of Bonn and the district of Landkreis Bonn. It acquired its current borders in the 1965 election.
| Election | No. | Name | Borders |
| 1949 | 10 | Bonn-Stadt und -Land | Bonn city Landkreis Bonn district |
| 1953 | 69 | Bonn-Stadt und -Land | Bonn city Landkreis Bonn district |
| 1957 | 69 | Bonn-Stadt und -Land | Bonn city Landkreis Bonn district |
| 1961 | 69 | Bonn-Stadt und -Land | Bonn city Landkreis Bonn district |
| 1965 | 63 | Bonn | Bonn city |
| 1969 | 63 | Bonn | Bonn city |
| 1972 | 63 | Bonn | Bonn city |
| 1976 | 63 | Bonn | Bonn city |
| 1980 | 63 | Bonn | Bonn city |
| 1983 | 63 | Bonn | Bonn city |
| 1987 | 63 | Bonn | Bonn city |
| 1990 | 63 | Bonn | Bonn city |
| 1994 | 63 | Bonn | Bonn city |
| 1998 | 63 | Bonn | Bonn city |
| 2002 | 97 | Bonn | Bonn city |
| 2005 | 97 | Bonn | Bonn city |
| 2009 | 97 | Bonn | Bonn city |
| 2013 | 96 | Bonn | Bonn city |
| 2017 | 96 | Bonn | Bonn city |
| 2021 | 96 | Bonn | Bonn city |
| 2025 | 95 | Bonn | Bonn city |

## Members

The constituency was first represented by Konrad Adenauer, the first Chancellor of the Federal Republic of Germany, from 1949 until his death in 1967. He was a member of the Christian Democratic Union (CDU). In the 1969 election, he was succeeded by fellow CDU member Alo Hauser, who served until 1983. Hans Daniels of the CDU was then elected and served two terms. Party fellow Editha Limbach became representative in 1990, followed by Norbert Hauser in 1998. The constituency was won by the Social Democratic Party (SPD) for the first time in 2002, and represented by Ulrich Kelber. He was re-elected in 2005, 2009, 2013, and 2017. Kelber resigned in January 2020 after being elected Federal Commissioner for Data Protection. Katrin Uhlig won the constituency for the Greens in 2021. In 2025 Hendrik Streeck won the seat for the CDU.
| Election | Member | Party | % |
| 1949 | Konrad Adenauer | CDU | 54.9 |
| 1953 | Konrad Adenauer | CDU | 68.8 |
| 1957 | Konrad Adenauer | CDU | 68.5 |
| 1961 | Konrad Adenauer | CDU | 60.3 |
| 1965 | Konrad Adenauer | CDU | 59.6 |
| 1969 | Alo Hauser | CDU | 37.9 |
| 1972 | Alo Hauser | CDU | 51.8 |
| 1976 | Alo Hauser | CDU | 54.1 |
| 1980 | Alo Hauser | CDU | 49.3 |
| 1983 | Hans Daniels | CDU | 55.1 |
| 1987 | Hans Daniels | CDU | 50.3 |
| 1990 | Editha Limbach | CDU | 44.8 |
| 1994 | Editha Limbach | CDU | 44.8 |
| 1998 | Norbert Hauser | CDU | 42.8 |
| 2002 | Ulrich Kelber | SPD | 39.7 |
| 2005 | Ulrich Kelber | SPD | 42.0 |
| 2009 | Ulrich Kelber | SPD | 33.3 |
| 2013 | Ulrich Kelber | SPD | 38.2 |
| 2017 | Ulrich Kelber | SPD | 34.9 |
| 2021 | Katrin Uhlig | GRÜNE | 25.2 |
| 2025 | Hendrik Streeck | CDU | 33.3 |

## Election results
### 2025 election

Federal election (2025): Bonn :
| 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 | Hendrik Streeck | Hendrik Streeck | 63,973 | 33.3 | 8.9 | 50,413 | 26.2 | 3.6 |
| | Greens | N Katrin Uhlig | N Katrin Uhlig | 46,819 | 24.4 | 0.9 | 44,136 | 22.9 | 4.3 |
| | SPD | Jessica Rosenthal | Jessica Rosenthal | 41,567 | 21.6 | 3.5 | 34,068 | 17.7 | 4.9 |
| | AfD | Wolfgang Truckenbrodt | Wolfgang Truckenbrodt | 15,681 | 8.2 | 4.1 | 17,186 | 8.9 | 4.7 |
| | Left | Jürgen Repschläger | Jürgen Repschläger | 14,776 | 7.7 | 4.1 | 23,994 | 12.5 | 7.0 |
| | BSW | | | | | | 6,911 | 3.6 | |
| | FDP | Anna Heimanm | Anna Heimanm | 4,737 | 2.5 | 10.1 | 9,995 | 5.2 | 6.7 |
| | Volt | Thomas Peter | Thomas Peter | 3,018 | 1.6 | 0.0 | 2,147 | 1.1 | 0.1 |
| | Tierschutzpartei | | | | | | 1,252 | 0.6 | 0.1 |
| | FW | Robert Viebahn | Robert Viebahn | 934 | 0.5 | 0.2 | 419 | 0.2 | 0.3 |
| | PARTEI | | | | | 1.5 | 877 | 0.5 | 0.4 |
| | PdF | Fosi Audi | Fosi Audi | 536 | 0.3 | | 287 | 0.1 | 0.1 |
| | dieBasis | | | | | 1.1 | 338 | 0.2 | 0.8 |
| | Team Todenhöfer | | | | | | 270 | 0.1 | 0.8 |
| | BD | | | | | | 128 | 0.1 | |
| | MERA25 | | | | | | 141 | 0.1 | |
| | Values | | | | | | 92 | 0.0 | |
| | MLPD | | | | | 0.1 | 59 | 0.0 | 0.0 |
| | Pirates | | | | | | | | 0.3 |
| | Humanists | | | | | | | | 0.1 |
| | ÖDP | | | | | | | | 0.1 |
| | Gesundheitsforschung | | | | | | | | 0.1 |
| | Bündnis C | | | | | | | | 0.1 |
| | SGP | | | | | | | | 0.0 |
| Informal votes | Informal votes | Informal votes | Informal votes | 1,651 | | | 980 | | |
| Total valid votes | Total valid votes | Total valid votes | Total valid votes | 192,042 | | | 192,713 | | |
| Turnout | Turnout | Turnout | Turnout | 193,693 | 84.7 | 4.1 | | | |
| | CDU gain from Greens | CDU gain from Greens | Majority | 17,154 | 8.9 | | | | |

### 2021 election

Federal election (2021): Bonn :
| 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 | % | ±% |
| | Greens | Katrin Uhlig | Katrin Uhlig | 46,467 | 25.2 | 16.8 | 50,174 | 27.2 | 13.1 |
| | SPD | Jessica Rosenthal | Jessica Rosenthal | 46,251 | 25.1 | 9.7 | 41,641 | 22.6 | 2.4 |
| | CDU | Christoph Jansen | Christoph Jansen | 44,872 | 24.4 | 7.7 | 41,551 | 22.5 | 7.2 |
| | FDP | Alexander Graf Lambsdorff | Alexander Graf Lambsdorff | 23,198 | 12.6 | 2.1 | 21,902 | 11.9 | 3.8 |
| | AfD | Hans Neuhoff | Hans Neuhoff | 7,448 | 4.0 | 2.0 | 7,750 | 4.2 | 3.1 |
| | Left | Ilja Bergen | Ilja Bergen | 6,675 | 3.6 | 2.1 | 10,026 | 5.4 | 4.1 |
| | Volt | Livia Juliane Genn | Livia Juliane Genn | 2,919 | 1.6 | | 1,955 | 1.1 | |
| | PARTEI | Moritz Van den Bergh | Moritz Van den Bergh | 2,700 | 1.5 | 0.0 | 1,661 | 0.9 | 0.2 |
| | dieBasis | Gregor Berneiser | Gregor Berneiser | 2,101 | 1.1 | | 1,823 | 1.0 | |
| | Team Todenhöfer | | | | | | 1,817 | 1.0 | |
| | Tierschutzpartei | | | | | | 1,371 | 0.7 | 0.4 |
| | FW | Jutta Acar | Jutta Acar | 1,183 | 0.6 | 0.2 | 897 | 0.5 | 0.3 |
| | Pirates | | | | | | 611 | 0.3 | 0.0 |
| | Humanists | | | | | | 196 | 0.1 | 0.0 |
| | ÖDP | | | | | | 162 | 0.1 | 0.1 |
| | V-Partei3 | | | | | | 130 | 0.1 | 0.1 |
| | LIEBE | | | | | | 118 | 0.1 | |
| | Gesundheitsforschung | | | | | | 113 | 0.1 | 0.0 |
| | Bündnis C | | | | | | 106 | 0.1 | |
| | LfK | | | | | | 77 | 0.0 | |
| | LKR | Reinhard Limbach | Reinhard Limbach | 158 | 0.1 | | 75 | 0.0 | |
| | du. | | | | | | 68 | 0.0 | |
| | MLPD | Roger Stamm | Roger Stamm | 138 | 0.1 | | 57 | 0.0 | 0.0 |
| | PdF | | | | | | 53 | 0.0 | |
| | NPD | | | | | | 51 | 0.0 | 0.1 |
| | DKP | | | | | | 47 | 0.0 | 0.0 |
| | SGP | | | | | | 12 | 0.0 | 0.0 |
| Informal votes | Informal votes | Informal votes | Informal votes | 1,447 | | | 1,113 | | |
| Total valid votes | Total valid votes | Total valid votes | Total valid votes | 184,110 | | | 184,444 | | |
| Turnout | Turnout | Turnout | Turnout | 185,557 | 80.6 | 1.3 | | | |
| | Greens gain from SPD | Greens gain from SPD | Majority | 216 | 0.1 | | | | |

### 2017 election

Federal election (2017): Bonn :
| 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 | Y Ulrich Kelber | Y Ulrich Kelber | 62,377 | 34.9 | 3.3 | 36,119 | 20.2 | 5.8 |
| | CDU | Claudia Lücking-Michel | Claudia Lücking-Michel | 57,330 | 32.0 | 5.4 | 53,334 | 29.8 | 6.5 |
| | FDP | Alexander Graf Lambsdorff | Alexander Graf Lambsdorff | 18,724 | 10.5 | 4.4 | 28,113 | 15.7 | 7.4 |
| | Greens | Katja Dörner | Katja Dörner | 15,056 | 8.4 | 0.1 | 25,197 | 14.1 | 0.4 |
| | AfD | Sascha Ulbrich | Sascha Ulbrich | 10,882 | 6.1 | 3.5 | 13,136 | 7.3 | 3.1 |
| | Left | Jürgen Repschläger | Jürgen Repschläger | 10,193 | 5.7 | 1.3 | 17,133 | 9.6 | 3.2 |
| | PARTEI | Dominik Haffner | Dominik Haffner | 2,617 | 1.5 | 0.9 | 1,950 | 1.1 | 0.5 |
| | Tierschutzpartei | | | | | | 684 | 0.4 | |
| | Pirates | Mehdi Ebrahimi Zadeh | Mehdi Ebrahimi Zadeh | 857 | 0.5 | 1.9 | 663 | 0.4 | 2.2 |
| | DiB | | | | | | 431 | 0.2 | |
| | FW | Werner Bader | Werner Bader | 806 | 0.5 | | 412 | 0.2 | 0.1 |
| | AD-DEMOKRATEN | | | | | | 325 | 0.2 | |
| | BGE | | | | | | 312 | 0.2 | |
| | V-Partei³ | | | | | | 273 | 0.2 | |
| | ÖDP | | | | | | 253 | 0.1 | 0.0 |
| | Die Humanisten | | | | | | 211 | 0.1 | |
| | DM | | | | | | 206 | 0.1 | |
| | NPD | | | | | | 147 | 0.1 | 0.4 |
| | Volksabstimmung | | | | | | 107 | 0.1 | 0.1 |
| | Independent | Quo-Chir Luong | Quo-Chir Luong | 99 | 0.1 | | | | |
| | MLPD | | | | | | 81 | 0.0 | 0.0 |
| | Gesundheitsforschung | | | | | | 69 | 0.0 | |
| | DKP | | | | | | 30 | 0.0 | |
| | SGP | | | | | | 22 | 0.0 | 0.0 |
| Informal votes | Informal votes | Informal votes | Informal votes | 1,498 | | | 1,231 | | |
| Total valid votes | Total valid votes | Total valid votes | Total valid votes | 178,941 | | | 179,208 | | |
| Turnout | Turnout | Turnout | Turnout | 180,439 | 79.3 | 2.0 | | | |
| | SPD hold | SPD hold | Majority | 5,047 | 2.9 | 2.2 | | | |

### 2013 election

Federal election (2013): Bonn :
| 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 | Y Ulrich Kelber | Y Ulrich Kelber | 65,955 | 38.2 | 4.8 | 44,909 | 25.9 | 3.4 |
| | CDU | Claudia Lücking-Michel | Claudia Lücking-Michel | 64,778 | 37.5 | 6.3 | 62,844 | 35.3 | 5.1 |
| | Greens | Katja Dörner | Katja Dörner | 14,797 | 8.6 | 1.6 | 23,686 | 14.7 | 2.3 |
| | FDP | Guido Westerwelle | Guido Westerwelle | 10,416 | 6.0 | 13.1 | 14,418 | 8.3 | 10.7 |
| | Left | Paul Schäfer | Paul Schäfer | 7,523 | 4.4 | 0.7 | 10,988 | 6.3 | 0.7 |
| | AfD | Andrea Konorza | Andrea Konorza | 4,382 | 2.5 | | 7,389 | 4.3 | |
| | Pirates | Klaus Benndorf | Klaus Benndorf | 4,113 | 2.4 | | 4,418 | 2.6 | 0.3 |
| | PARTEI | Carlo Metterhausen | Carlo Metterhausen | 907 | 0.5 | | 1,079 | 0.6 | |
| | BIG | | | | | | 955 | 0.6 | |
| | NPD | | | | | | 801 | 0.5 | 0.2 |
| | PRO | | | | | | 358 | 0.2 | |
| | FW | | | | | | 309 | 0.2 | |
| | ÖDP | | | | | | 293 | 0.2 | 0.0 |
| | Nichtwahler | | | | | | 217 | 0.1 | |
| | Volksabstimmung | | | | | | 197 | 0.1 | 0.0 |
| | Party of Reason | | | | | | 132 | 0.1 | |
| | REP | | | | | | 92 | 0.1 | 0.1 |
| | RRP | | | | | | 47 | 0.0 | 0.0 |
| | MLPD | | | | | | 42 | 0.0 | 0.0 |
| | BüSo | | | | | | 25 | 0.0 | 0.0 |
| | PSG | | | | | | 21 | 0.0 | 0.0 |
| | Die Rechte | | | | | | 19 | 0.0 | |
| Informal votes | Informal votes | Informal votes | Informal votes | 2,143 | | | 1,775 | | |
| Total valid votes | Total valid votes | Total valid votes | Total valid votes | 172,871 | | | 173,239 | | |
| Turnout | Turnout | Turnout | Turnout | 175,014 | 77.3 | 0.8 | | | |
| | SPD hold | SPD hold | Majority | 1,177 | 0.7 | 1.4 | | | |

### 2009 election

Federal election (2009): Bonn :
| 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 | Y Ulrich Kelber | Y Ulrich Kelber | 55,251 | 33.3 | 8.6 | 37,387 | 22.5 | 9.4 |
| | CDU | Stephan Eisel | Stephan Eisel | 51,674 | 31.2 | 8.3 | 51,654 | 31.1 | 3.6 |
| | FDP | Guido Westerwelle | Guido Westerwelle | 31,606 | 19.1 | 10.4 | 31,483 | 19.0 | 5.3 |
| | Greens | Katja Dörner | Katja Dörner | 16,856 | 10.2 | 4.0 | 26,573 | 16.0 | 2.7 |
| | Left | Paul Schäfer | Paul Schäfer | 8,381 | 5.1 | 2.1 | 11,624 | 7.0 | 2.6 |
| | Pirates | | | | | | 3,685 | 2.2 | |
| | NPD | Andreas Kaschke | Andreas Kaschke | 1,211 | 0.7 | 0.1 | 1,049 | 0.6 | 0.2 |
| | Tierschutzpartei | | | | | | 786 | 0.5 | 0.1 |
| | DIE VIOLETTEN | Ulrike Kraemer-Schwinn | Ulrike Kraemer-Schwinn | 446 | 0.3 | | | | |
| | FAMILIE | | | | | | 443 | 0.3 | 0.0 |
| | RENTNER | | | | | | 280 | 0.2 | |
| | REP | | | | | | 244 | 0.1 | 0.0 |
| | ÖDP | | | | | | 208 | 0.1 | |
| | Volksabstimmung | | | | | | 137 | 0.1 | 0.0 |
| | BüSo | Ilja Bertold Karpowski | Ilja Bertold Karpowski | 251 | 0.2 | | 87 | 0.1 | 0.0 |
| | Centre | | | | | | 87 | 0.1 | 0.0 |
| | RRP | | | | | | 74 | 0.0 | |
| | DVU | | | | | | 52 | 0.0 | |
| | MLPD | | | | | | 40 | 0.0 | 0.0 |
| | PSG | | | | | | 26 | 0.0 | 0.0 |
| Informal votes | Informal votes | Informal votes | Informal votes | 1,898 | | | 1,655 | | |
| Total valid votes | Total valid votes | Total valid votes | Total valid votes | 165,676 | | | 165,919 | | |
| Turnout | Turnout | Turnout | Turnout | 167,574 | 76.4 | 4.8 | | | |
| | SPD hold | SPD hold | Majority | 2,577 | 2.1 | 0.4 | | | |