W latach 1979-1981 należał do PZPR. Od 1980 do 1996 był członkiem NSZZ "Solidarność". W latach 1989-1991 działał w krakowskim Komitecie Obywatelskim, przewodniczył Komitetowi Osiedlowemu Prądnik Czerwony, zasiadał w zarządzie Komitetu Obywatelskiego Miasta Krakowa.
Od 1991 do 1992 był wiceprzewodniczącym krakowskiego zarządu Solidarności Pracy, w 1992 został członkiem Unii Pracy, zasiadał we władzach krajowych tej partii i kierował jej strukturami regionalnymi. Był wiceprzewodniczącym rady programowej TVP Kraków (1995-1998), wiceprzewodniczącym krakowskiego Komitetu na Rzecz Referendum w Sprawie Dopuszczalności Przerywania Ciąży (1993), członkiem Komisji Promocji, Współpracy i Informacji rady miasta (od 1998).
W 2001 został posłem na Sejm IV kadencji z listy koalicji Sojusz Lewicy Demokratycznej - Unia Pracy z okręgu chrzanowskiego. Został powołany na przewodniczącego klubu parlamentarnego UP. W 2004 odszedł z Unii Pracy, wkrótce przystąpił do Partii Ludowo-Demokratycznej, przekształconej następnie w Stronnictwo Gospodarcze. W 2005 bez powodzenia ubiegał się o reelekcję z listy SLD.