SNAPSHOT
With the exception of the northern ends of the 6th District, there are few areas of Minnesota more strongly Republican than Minnesota's 2nd Congressional District. In 2002, a redistricting snafu created an opportunity
for Republican John Kline to knock off arch-rival Bill Luther.. The two had
faced off twice in the 6th District. Redistricting, however, put Kline in
the 2nd District and judges apparently erred by moving incumbent Republican
Mark Kennedy in the 6th District, thus opening the seat.
Kline beat Luther in that election, and then
won easy re-election in 2004, besting Teresa Daly. He turned aside a challenge from Coleen Rowley in 2006 by a 56-to-40 percent margin.
The 2nd District is the poster child for political power now wielded by Minneapolis/St. Paul's suburbs. It encompasses the fast-developing communities of Eagan, Lakeville, Apple Valley, Cottage Grove, Mendota Heights and Burnsville in the Twin Cities' southern region. The district also includes farm communities and college towns, such as Northfield, home to Carleton College and St. Olaf College.
This area once was marginally Democratic, but was in play in 1998 when Jesse Ventura carried each county in the district. In 2000, George W. Bush narrowly won Dakota County. In 2002, the district went big for Republican Senator Norm Coleman and Gov. Tim Pawlenty.
Candidates
![]() |
John Kline (R) |
![]() | |
![]() |
Coleen Rowley (D) |
![]() | |
Douglas Williams (I) | |
![]() |
District Information


School age: 22%
Age 65+: 8%
Percent below poverty: 4%
Per capita income: $25,666
Median housing value: $151,194
Percent unemployed: 2%
Percent minority: 8%
Percent college graduate: 18%
Percent less than high school diploma: 5%
Debates
![]() |
Coleen Rowley and John Kline debate (10/4/06) |
![]() | |
![]() |
Coleen Rowley appeared at a congressional candidates' forum at Farmfest, along with candidates from other districts.
(8/1/06) |
![]() |
The Money Race
Candidate | Funds |
John Kline | $1,315,946 |
Coleen Rowley | $511,717 |
Links and Resources
![]() |
![]() |
![]() |