# Heidelberg (electoral district)

Heidelberg 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 274. It is located in northwestern Baden-Württemberg, comprising the city of Heidelberg and the northern part of the Rhein-Neckar-Kreis district.
Heidelberg was created for the inaugural 1949 federal election. Whilst the Christian Democratic Union won a plurality in the 2025 election, under the new voting system, their candidate did not actually win a seat in the Bundestag. This was due to the distribution of seats won by the CDU being decided by the first (direct) vote percentage of each winning CDU candidate, determining who took the seats. As the CDU candidate got a low vote of 29.2%, the seat will remain vacant throughout the 21st Bundestag.

## Geography

Heidelberg is located in northwestern Baden-Württemberg. As of the 2021 federal election, it comprises the independent city of Heidelberg and the municipalities of Dossenheim, Edingen-Neckarhausen, Eppelheim, Heddesheim, Hemsbach, Hirschberg an der Bergstraße, Ilvesheim, Ladenburg, Laudenbach, Schriesheim, and Weinheim from the Rhein-Neckar-Kreis district.

## History

Heidelberg was created in 1949. In the 1965 through 1976 elections, it was named Heidelberg-Stadt. In the 1949 election, it was Württemberg-Baden Landesbezirk Baden constituency 3 in the number system. In the 1953 through 1961 elections, it was number 177. In the 1965 through 1976 elections, it was number 181. In the 1980 through 1998 elections, it was number 178. In the 2002 and 2005 elections, it was number 275. Since the 2009 election, it has been number 274.
Originally, the constituency comprised the independent city of Heidelberg and the Landkreis Heidelberg district. In the 1965 through 1972 elections, it comprised the city of Heidelberg, the Eppelheim municipality from the Landkreis Heidelberg district, and the municipalities of Altlußheim, Brühl, Hockenheim, Ketsch, Neulußheim, Oftersheim, Plankstadt, Reilingen, and Schwetzingen from the Landkreis Mannheim district. In the 1976 through 1998 elections, its borders did not change, but its area from the Landkreis Mannheim and Landkreis Heidelberg districts became part of the Rhein-Neckar-Kreis district. It acquired its current borders in the 2002 election.
| Election | No. | Name | Borders |
| 1949 | 3 | Heidelberg | Heidelberg city Landkreis Heidelberg district |
| 1953 | 177 | Heidelberg | Heidelberg city Landkreis Heidelberg district |
| 1957 | 177 | Heidelberg | Heidelberg city Landkreis Heidelberg district |
| 1961 | 177 | Heidelberg | Heidelberg city Landkreis Heidelberg district |
| 1965 | 181 | Heidelberg-Stadt | Heidelberg city Landkreis Heidelberg district (only Eppelheim municipality) Landkreis Mannheim district (only Altlußheim, Brühl, Hockenheim, Ketsch, Neulußheim, Oftersheim, Plankstadt, Reilingen, and Schwetzingen municipalities) |
| 1969 | 181 | Heidelberg-Stadt | Heidelberg city Landkreis Heidelberg district (only Eppelheim municipality) Landkreis Mannheim district (only Altlußheim, Brühl, Hockenheim, Ketsch, Neulußheim, Oftersheim, Plankstadt, Reilingen, and Schwetzingen municipalities) |
| 1972 | 181 | Heidelberg-Stadt | Heidelberg city Landkreis Heidelberg district (only Eppelheim municipality) Landkreis Mannheim district (only Altlußheim, Brühl, Hockenheim, Ketsch, Neulußheim, Oftersheim, Plankstadt, Reilingen, and Schwetzingen municipalities) |
| 1976 | 181 | Heidelberg-Stadt | Heidelberg city Rhein-Neckar-Kreis district (only Altlußheim, Brühl, Eppelheim, Hockenheim, Ketsch, Neulußheim, Oftersheim, Plankstadt, Reilingen, and Schwetzingen municipalities) |
| 1980 | 178 | Heidelberg | Heidelberg city Rhein-Neckar-Kreis district (only Altlußheim, Brühl, Eppelheim, Hockenheim, Ketsch, Neulußheim, Oftersheim, Plankstadt, Reilingen, and Schwetzingen municipalities) |
| 1983 | 178 | Heidelberg | Heidelberg city Rhein-Neckar-Kreis district (only Altlußheim, Brühl, Eppelheim, Hockenheim, Ketsch, Neulußheim, Oftersheim, Plankstadt, Reilingen, and Schwetzingen municipalities) |
| 1987 | 178 | Heidelberg | Heidelberg city Rhein-Neckar-Kreis district (only Altlußheim, Brühl, Eppelheim, Hockenheim, Ketsch, Neulußheim, Oftersheim, Plankstadt, Reilingen, and Schwetzingen municipalities) |
| 1990 | 178 | Heidelberg | Heidelberg city Rhein-Neckar-Kreis district (only Altlußheim, Brühl, Eppelheim, Hockenheim, Ketsch, Neulußheim, Oftersheim, Plankstadt, Reilingen, and Schwetzingen municipalities) |
| 1994 | 178 | Heidelberg | Heidelberg city Rhein-Neckar-Kreis district (only Altlußheim, Brühl, Eppelheim, Hockenheim, Ketsch, Neulußheim, Oftersheim, Plankstadt, Reilingen, and Schwetzingen municipalities) |
| 1998 | 178 | Heidelberg | Heidelberg city Rhein-Neckar-Kreis district (only Altlußheim, Brühl, Eppelheim, Hockenheim, Ketsch, Neulußheim, Oftersheim, Plankstadt, Reilingen, and Schwetzingen municipalities) |
| 2002 | 275 | Heidelberg | Heidelberg city Rhein-Neckar-Kreis district (only Dossenheim, Edingen-Neckarhausen, Eppelheim, Heddesheim, Hemsbach, Hirschberg an der Bergstraße, Ilvesheim, Ladenburg, Laudenbach, Schriesheim, and Weinheim municipalities) |
| 2005 | 275 | Heidelberg | Heidelberg city Rhein-Neckar-Kreis district (only Dossenheim, Edingen-Neckarhausen, Eppelheim, Heddesheim, Hemsbach, Hirschberg an der Bergstraße, Ilvesheim, Ladenburg, Laudenbach, Schriesheim, and Weinheim municipalities) |
| 2009 | 274 | Heidelberg | Heidelberg city Rhein-Neckar-Kreis district (only Dossenheim, Edingen-Neckarhausen, Eppelheim, Heddesheim, Hemsbach, Hirschberg an der Bergstraße, Ilvesheim, Ladenburg, Laudenbach, Schriesheim, and Weinheim municipalities) |
| 2013 | 274 | Heidelberg | Heidelberg city Rhein-Neckar-Kreis district (only Dossenheim, Edingen-Neckarhausen, Eppelheim, Heddesheim, Hemsbach, Hirschberg an der Bergstraße, Ilvesheim, Ladenburg, Laudenbach, Schriesheim, and Weinheim municipalities) |
| 2017 | 274 | Heidelberg | Heidelberg city Rhein-Neckar-Kreis district (only Dossenheim, Edingen-Neckarhausen, Eppelheim, Heddesheim, Hemsbach, Hirschberg an der Bergstraße, Ilvesheim, Ladenburg, Laudenbach, Schriesheim, and Weinheim municipalities) |
| 2021 | 274 | Heidelberg | Heidelberg city Rhein-Neckar-Kreis district (only Dossenheim, Edingen-Neckarhausen, Eppelheim, Heddesheim, Hemsbach, Hirschberg an der Bergstraße, Ilvesheim, Ladenburg, Laudenbach, Schriesheim, and Weinheim municipalities) |
| 2025 | 274 | Heidelberg | Heidelberg city Rhein-Neckar-Kreis district (only Dossenheim, Edingen-Neckarhausen, Eppelheim, Heddesheim, Hemsbach, Hirschberg an der Bergstraße, Ilvesheim, Ladenburg, Laudenbach, Schriesheim, and Weinheim municipalities) |

## Members

The constituency was first represented by Eduard Wahl of the Christian Democratic Union (CDU) from 1949 to 1969. It was won by Alex Möller of the Social Democratic Party (SPD) in 1969, who served until 1976. Karl Weber of the CDU was elected in 1976, and served one term. Hartmut Soell regained it for the SPD in 1980. Udo Ehrbar of the CDU was representative from 1983 to 1994. Karl A. Lamers of the CDU was elected in 1994 and served one term. Lothar Binding of the SPD was elected in 1998 and re-elected in 2002. Former member Lamers regained the constituency in 2005 and served as representative until 2021. Franziska Brantner won it for the Greens in 2021. The seat has been vacant since the 2025 election.
| Election | Member | Party | % |
| 1949 | Eduard Wahl | CDU | 36.7 |
| 1953 | Eduard Wahl | CDU | 48.3 |
| 1957 | Eduard Wahl | CDU | 52.6 |
| 1961 | Eduard Wahl | CDU | 45.4 |
| 1965 | Eduard Wahl | CDU | 47.3 |
| 1969 | Alex Möller | SPD | 45.8 |
| 1972 | Alex Möller | SPD | 49.6 |
| 1976 | Karl Weber | CDU | 48.4 |
| 1980 | Hartmut Soell | SPD | 44.9 |
| 1983 | Udo Ehrbar | CDU | 48.9 |
| 1987 | Udo Ehrbar | CDU | 43.9 |
| 1990 | Udo Ehrbar | CDU | 42.8 |
| 1994 | Karl A. Lamers | CDU | 43.2 |
| 1998 | Lothar Binding | SPD | 44.5 |
| 2002 | Lothar Binding | SPD | 42.9 |
| 2005 | Karl A. Lamers | CDU | 38.7 |
| 2009 | Karl A. Lamers | CDU | 36.1 |
| 2013 | Karl A. Lamers | CDU | 40.9 |
| 2017 | Karl A. Lamers | CDU | 32.7 |
| 2021 | Franziska Brantner | GRÜNE | 30.2 |
| 2025 | Vacant | Vacant | Vacant |

## Election results
### 2025 election

Under the new voting system implemented for the 2025 election, although the CDU candidate won the most votes in this constituency, due to the low winning percentage, the constituency seat will remain vacant as not enough second (party) votes were won to be allocated this seat.
Federal election (2025): Heidelberg :
| 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 | Alexander Paul Föhr | Alexander Paul Föhr | 54,060 | 29.2 | 5.1 | 48,787 | 26.3 | 5.5 |
| | Greens | N Franziska Brantner | N Franziska Brantner | 51,423 | 27.7 | 2.4 | 40,599 | 21.9 | 3.8 |
| | SPD | Dr. Tim Manfred Tugendhat | Dr. Tim Manfred Tugendhat | 29,464 | 15.9 | 4.3 | 31,556 | 17.0 | 5.8 |
| | AfD | Dr. Malte Kaufmann | Dr. Malte Kaufmann | 22,182 | 12.0 | 5.8 | 22,414 | 12.1 | 5.9 |
| | Left | Sahra Mirow | Sahra Mirow | 13,225 | 7.1 | 3.2 | 18,830 | 10.1 | 5.3 |
| | FDP | Dennis Tim Nusser | Dennis Tim Nusser | 6,767 | 3.7 | 5.4 | 10,535 | 5.7 | 7.5 |
| | BSW | | | | | | 6,388 | 3.4 | |
| | Volt | Maximilian Saßerath | Maximilian Saßerath | 3,251 | 1.8 | 0.8 | 2,100 | 1.1 | 0.4 |
| | FW | Julian Scharbert | Julian Scharbert | 2,566 | 1.4 | 0.2 | 1,377 | 0.7 | 0.4 |
| | APT | | | | | | 1,323 | 0.7 | 0.3 |
| | PARTEI | Julia Burmeister | Julia Burmeister | 2,271 | 1.2 | | 913 | 0.5 | 0.3 |
| | dieBasis | | | | | | 318 | 0.2 | 1.2 |
| | ÖDP | | | | | | 221 | 0.1 | 0.1 |
| | Bündnis C | | | | | | 171 | 0.1 | |
| | BD | | | | | | 157 | 0.1 | |
| | MLPD | Bernhard Alfons Schweigert | Bernhard Alfons Schweigert | 175 | 0.1 | | 52 | 0.0 | |
| Informal votes | Informal votes | Informal votes | Informal votes | 1,156 | | | 799 | | |
| Total valid votes | Total valid votes | Total valid votes | Total valid votes | 185,384 | | | 185,741 | | |
| Turnout | Turnout | Turnout | Turnout | 186,540 | 85.5 | 4.0 | | | |
| | Vacant gain from Greens | Vacant gain from Greens | Majority | | | | | | |

### 2021 election

Federal election (2021): Heidelberg :
| 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 | Franziska Brantner | Franziska Brantner | 53,288 | 30.2 | 13.5 | 45,314 | 25.6 | 8.5 |
| | CDU | Alexander Föhr | Alexander Föhr | 42,582 | 24.1 | 8.6 | 36,783 | 20.8 | 9.1 |
| | SPD | Elisabeth Krämer | Elisabeth Krämer | 35,602 | 20.2 | 5.9 | 40,275 | 22.8 | 4.3 |
| | FDP | Dennis Nusser | Dennis Nusser | 15,906 | 9.0 | 2.4 | 23,240 | 13.1 | 0.5 |
| | AfD | Malte Kaufmann | Malte Kaufmann | 10,823 | 6.1 | 2.8 | 10,821 | 6.1 | 3.4 |
| | Left | Zara Kızıltaş | Zara Kızıltaş | 6,987 | 4.0 | 2.1 | 8,624 | 4.9 | 3.5 |
| | dieBasis | Ulrich Becker | Ulrich Becker | 2,976 | 1.7 | | 2,466 | 1.4 | |
| | FW | Daniel Brenzel | Daniel Brenzel | 2,839 | 1.6 | 0.6 | 2,011 | 1.1 | 0.6 |
| | Tierschutzpartei | | | | | | 1,761 | 1.0 | 0.3 |
| | PARTEI | Franziskus Schmitz | Franziskus Schmitz | 2,151 | 1.2 | 0.0 | 1,470 | 0.8 | 0.2 |
| | Volt | Verena Willaredt | Verena Willaredt | 1,680 | 1.0 | | 1,256 | 0.7 | |
| | KlimalisteBW | Friederike Benjes | Friederike Benjes | 1,070 | 0.6 | | | | |
| | Team Todenhöfer | | | | | | 624 | 0.4 | |
| | Pirates | | | | | | 486 | 0.3 | 0.1 |
| | Humanists | Wasilios Vlachopoulos | Wasilios Vlachopoulos | 592 | 0.3 | | 379 | 0.2 | |
| | ÖDP | | | | | | 367 | 0.2 | 0.0 |
| | Gesundheitsforschung | | | | | | 186 | 0.1 | |
| | Bündnis C | | | | | | 184 | 0.1 | |
| | DiB | | | | | | 161 | 0.1 | 0.1 |
| | The Homeland | | | | | | 114 | 0.1 | 0.1 |
| | Bürgerbewegung | | | | | | 97 | 0.1 | |
| | MLPD | Bernhard Schweigert | Bernhard Schweigert | 141 | 0.1 | 0.0 | 65 | 0.0 | 0.0 |
| | Bündnis 21 | | | | | | 44 | 0.0 | |
| | DKP | | | | | | 43 | 0.0 | 0.0 |
| | LKR | | | | | | 33 | 0.0 | |
| Informal votes | Informal votes | Informal votes | Informal votes | 1,231 | | | 1,064 | | |
| Total valid votes | Total valid votes | Total valid votes | Total valid votes | 176,637 | | | 176,804 | | |
| Turnout | Turnout | Turnout | Turnout | 177,868 | 81.4 | 0.8 | | | |
| | Greens gain from CDU | Greens gain from CDU | Majority | 10,706 | 6.1 | | | | |

### 2017 election

Federal election (2017): Heidelberg :
| 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 Karl A. Lamers | Y Karl A. Lamers | 58,019 | 32.7 | 8.2 | 53,138 | 29.9 | 7.6 |
| | SPD | Lothar Binding | Lothar Binding | 46,219 | 26.0 | 4.5 | 32,806 | 18.4 | 4.9 |
| | Greens | Franziska Brantner | Franziska Brantner | 29,664 | 16.7 | 4.4 | 30,491 | 17.1 | 2.4 |
| | AfD | Malte Kaufmann | Malte Kaufmann | 15,803 | 8.9 | 4.0 | 16,850 | 9.5 | 3.3 |
| | FDP | Dennis Nusser | Dennis Nusser | 11,769 | 6.6 | 3.5 | 22,556 | 12.7 | 5.7 |
| | Left | Sahra Mirow | Sahra Mirow | 10,751 | 6.1 | 1.9 | 14,812 | 8.3 | 2.7 |
| | PARTEI | Björn Leuzinger | Björn Leuzinger | 2,183 | 1.2 | 0.8 | 1,780 | 1.0 | |
| | Tierschutzpartei | | | | | | 1,151 | 0.6 | 0.1 |
| | FW | Bernhard Barutta | Bernhard Barutta | 1,792 | 1.0 | 0.5 | 990 | 0.6 | 0.1 |
| | Pirates | Alexander Schestag | Alexander Schestag | 1,174 | 0.7 | 1.4 | 734 | 0.4 | 2.3 |
| | Tierschutzallianz | | | | | | 389 | 0.2 | |
| | DiB | | | | | | 388 | 0.2 | |
| | ÖDP | | | | | | 386 | 0.2 | 0.0 |
| | The Homeland | | | | | | 303 | 0.2 | 0.5 |
| | BGE | | | | | | 297 | 0.2 | |
| | V-Partei³ | | | | | | 248 | 0.1 | |
| | DM | | | | | | 199 | 0.1 | |
| | Menschliche Welt | | | | | | 167 | 0.1 | |
| | MLPD | Bernhard Schweigert | Bernhard Schweigert | 196 | 0.1 | | 83 | 0.0 | 0.0 |
| | DKP | | | | | | 40 | 0.0 | |
| | DIE RECHTE | | | | | | 24 | 0.0 | |
| Informal votes | Informal votes | Informal votes | Informal votes | 1,568 | | | 1,306 | | |
| Total valid votes | Total valid votes | Total valid votes | Total valid votes | 177,570 | | | 177,832 | | |
| Turnout | Turnout | Turnout | Turnout | 179,138 | 82.2 | 4.3 | | | |
| | CDU hold | CDU hold | Majority | 11,800 | 6.7 | 3.6 | | | |

### 2013 election

Federal election (2013): Heidelberg :
| 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 Karl A. Lamers | Y Karl A. Lamers | 68,061 | 40.9 | 4.8 | 62,331 | 37.5 | 6.8 |
| | SPD | Lothar Binding | Lothar Binding | 50,850 | 30.6 | 0.9 | 38,915 | 23.4 | 1.4 |
| | Greens | Franziska Brantner | Franziska Brantner | 20,392 | 12.3 | 3.3 | 24,601 | 14.8 | 2.8 |
| | AfD | Jens Zeller | Jens Zeller | 8,143 | 4.9 | | 10,219 | 6.1 | |
| | Left | Sahra Mirow | Sahra Mirow | 6,892 | 4.1 | 1.5 | 9,413 | 5.7 | 1.7 |
| | FDP | Dirk Niebel | Dirk Niebel | 5,180 | 3.1 | 8.9 | 11,626 | 7.0 | 10.7 |
| | Pirates | Stevan Cirkovic | Stevan Cirkovic | 3,430 | 2.1 | | 4,581 | 2.8 | 0.6 |
| | Tierschutzpartei | | | | | | 1,187 | 0.7 | 0.1 |
| | The Homeland | Jan Jaeschke | Jan Jaeschke | 1,210 | 0.7 | 0.3 | 1,136 | 0.7 | 0.1 |
| | FW | Kay-Olaf Ballerstädt | Kay-Olaf Ballerstädt | 776 | 0.5 | | 766 | 0.5 | |
| | PARTEI | Andrej Kilian | Andrej Kilian | 722 | 0.4 | | | | |
| | ÖDP | Martin Weinmann | Martin Weinmann | 663 | 0.4 | | 405 | 0.2 | 0.0 |
| | RENTNER | | | | | | 289 | 0.2 | |
| | REP | | | | | | 268 | 0.2 | 0.3 |
| | Volksabstimmung | | | | | | 188 | 0.1 | 0.0 |
| | PBC | | | | | | 145 | 0.1 | 0.1 |
| | Party of Reason | | | | | | 121 | 0.1 | |
| | BIG | | | | | | 85 | 0.1 | |
| | PRO | | | | | | 76 | 0.0 | |
| | MLPD | | | | | | 44 | 0.0 | 0.0 |
| | BüSo | | | | | | 10 | 0.0 | 0.0 |
| Informal votes | Informal votes | Informal votes | Informal votes | 1,858 | | | 1,771 | | |
| Total valid votes | Total valid votes | Total valid votes | Total valid votes | 166,319 | | | 166,406 | | |
| Turnout | Turnout | Turnout | Turnout | 168,177 | 77.9 | 1.0 | | | |
| | CDU hold | CDU hold | Majority | 17,211 | 10.3 | 3.9 | | | |

### 2009 election

Federal election (2009): Heidelberg :
| 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 Karl A. Lamers | Y Karl A. Lamers | 57,963 | 36.1 | 2.6 | 49,296 | 30.6 | 2.9 |
| | SPD | Lothar Binding | Lothar Binding | 47,683 | 29.7 | 8.7 | 35,337 | 22.0 | 9.7 |
| | Greens | Fritz Kuhn | Fritz Kuhn | 24,985 | 15.6 | 4.5 | 28,349 | 17.6 | 2.4 |
| | FDP | Dirk Niebel | Dirk Niebel | 19,314 | 12.0 | 4.7 | 28,419 | 17.7 | 5.1 |
| | Left | Carsten Labudda | Carsten Labudda | 8,985 | 5.6 | 2.6 | 11,823 | 7.3 | 3.0 |
| | Pirates | | | | | | 3,396 | 2.1 | |
| | The Homeland | Jan Jaeschke | Jan Jaeschke | 1,652 | 1.0 | 0.4 | 1,318 | 0.8 | 0.2 |
| | Tierschutzpartei | | | | | | 958 | 0.6 | |
| | REP | | | | | | 686 | 0.4 | 0.1 |
| | ÖDP | | | | | | 364 | 0.2 | |
| | PBC | | | | | | 288 | 0.2 | 0.0 |
| | DIE VIOLETTEN | | | | | | 285 | 0.2 | |
| | Volksabstimmung | | | | | | 239 | 0.1 | |
| | DVU | | | | | | 71 | 0.0 | |
| | BüSo | | | | | | 62 | 0.0 | 0.0 |
| | MLPD | | | | | | 57 | 0.0 | 0.0 |
| | ADM | | | | | | 40 | 0.0 | |
| Informal votes | Informal votes | Informal votes | Informal votes | 2,338 | | | 1,932 | | |
| Total valid votes | Total valid votes | Total valid votes | Total valid votes | 160,582 | | | 160,988 | | |
| Turnout | Turnout | Turnout | Turnout | 162,920 | 76.9 | 4.9 | | | |
| | CDU hold | CDU hold | Majority | 10,280 | 6.4 | 6.1 | | | |