Działał w Związku Socjalistycznej Młodzieży Polskiej. Był także członkiem Polskiej Zjednoczonej Partii Robotniczej do jej rozwiązania. W latach 1994–2001 pełnił funkcję burmistrza Połczyna-Zdroju. Od 1998 do 2001 zasiadał w radzie powiatu świdwińskiego. 20 października 2001 został wojewodą zachodniopomorskim, stanowisko to zajmował do 17 października 2005. W 2001 dołączył do Sojuszu Lewicy Demokratycznej. Z listy tej partii w wyborach parlamentarnych w 2005 został wybrany na posła na Sejm V kadencji w okręgu koszalińskim. Od 19 listopada 2005 do 10 maja 2008 pełnił funkcję przewodniczącego SLD województwa zachodniopomorskiego.
W wyborach parlamentarnych w 2007 po raz drugi uzyskał mandat poselski, kandydując z listy koalicji Lewica i Demokraci i otrzymując 12 566 głosów. W kwietniu 2008 zasiadł w Klubie Poselskim Lewica, który we wrześniu 2010 przekształcono w KP SLD. 7 kwietnia 2010 objął funkcję przewodniczącego sejmowej Komisji Obrony Narodowej. W wyborach w 2011 z powodzeniem ubiegał się o reelekcję, dostał 8838 głosów. Bezskutecznie kandydował z listy SLD-UP w wyborach do Parlamentu Europejskiego w 2014. W wyborach w 2015 nie został wybrany na kolejną kadencję.