It's a strange mix between districts and proportional elections.
Under the German electoral system, each voter casts two ballots in a Bundestag election. The elector's first vote is cast for a candidate running to represent a particular district. The candidate who receives a plurality of votes becomes the district representative. Germany is divided into 328 electoral districts with roughly 180,000 voters in each district. Half of the Bundestag members are directly elected from these districts. The second ballot is cast for a particular political party. These second votes determine each party's share of the popular vote.
The first ballot is designed to decrease the anonymity of a strict proportional representation system--thus the description "personalized"--but it is the second ballot that determines how many Bundestag seats each party will receive. To ensure that each party's percentage of the combined district (first ballot) and party (second ballot) seats equals its share of the second vote, each party is allocated additional seats. These additional party seats are filled according to lists of candidates drawn up by the state party organization prior to the election. Research indicates that constituency representatives in the Bundestag are more responsive to their electorate's needs and are slightly more likely to follow their constituents' preferences when voting than deputies chosen from the party lists.
If a party wins more constituency seats than it is entitled to according to its share of the vote in the second ballot, the party retains those seats, and the size of the Bundestag is increased. This was the case in both the 1990 and 1994 federal elections. After the 1990 election, the total number of seats in the Bundestag rose from 656 to 662. In 1994 sixteen extra seats were added, leading to a 672-member Bundestag; twelve of those seats went to Kohl's CDU and accounted for Kohl's ten-seat margin of victory.
http://www.germanculture.com.ua/library/facts/bl_electoral_system.htm