W latach 1972-1990 należał do Polskiej Zjednoczonej Partii Robotniczej. Po rozwiązaniu PZPR wstąpił do Socjaldemokracji Rzeczypospolitej Polskiej. W latach 1971-1972 pracował jako starszy referent w Prezydium Powiatowej Rady Narodowej w Żywcu. Po ukończeniu studiów pracował naukowo jako asystent, oraz starszy asystent w Instytucie Nauk Politycznych i Dziennikarstwa Uniwersytetu Śląskiego. W latach 1973-1980 należał do Socjalistycznego Związku Studentów Polskich, później zaś do Związku Socjalistycznej Młodzieży Polskiej. Od lat dziewięćdziesiątych działał m.in. w Stowarzyszeniu Propagowania Społecznej Demokracji, Stowarzyszeniu Zintegrowanego Zarządzania Środowiskiem oraz Fundacji "LIVER" Katowickiego Stowarzyszenia Pomocy Chorym. Od 1991 r. był członkiem Rady Naczelnej i Rady Wojewódzkiej oraz przewodniczącym Rady Miejskiej SdRP w Katowicach.
W 1999 r. był jednym z założycieli Sojuszu Lewicy Demokratycznej - zasiadał w Zarządzie Wojewódzkim oraz Radzie Krajowej SLD. Był posłem na Sejm w latach 1991-2005. W wyborach parlamentarnych w 2005 roku nie kandydował. Przez cztery kadencje zasiadał w sejmowej komisji ochrony środowiska, zasobów naturalnych i leśnictwa, której był wiceprzewodniczącym (1993-1997) i przewodniczącym (1997-2001).
W październiku 2001 r. został sekretarzem stanu w Ministerstwie Środowiska. 3 marca 2003 r., po opuszczeniu koalicji rządowej przez Polskie Stronnictwo Ludowe, zastąpił na stanowisku ministra środowiska Stanisława Żelichowskiego. Urząd sprawował do momentu dymisji rządu Leszka Millera 2 maja 2004 roku.
W przedterminowych wyborach w 2007 bez powodzenia ubiegał się o mandat posła z listy koalicji Lewica i Demokraci.
Jest autorem i współautorem publikacji z zakresu najnowszej historii Polski oraz ekologii.