Od 1960 należał do Stronnictwa Demokratycznego, pełniąc obowiązki sekretarza Miejskiego Komitetu w Chorzowie (1961–1970), przewodniczącego MK (1973–1976), sekretarza Wojewódzkiego Komitetu w Katowicach (1976–1978) oraz przewodniczącego WK tamże (1980–1985). Od 1965 do 1975 zasiadał w Miejskiej Radzie Narodowej Chorzowa, sprawując funkcję wiceprzewodniczącego jej prezydium w kadencji 1969–1973. W latach 1973–1976 pełnił obowiązki wiceprezydenta śląskich miast, początkowo Chorzowa (do 1975), a następnie Katowic. Był również wicewojewodą katowickim (1978–1980) oraz wiceprzewodniczącym Wojewódzkiej Rady Narodowej w Katowicach (1975–1983). W latach 1976–1985 wykonywał mandat posła na Sejm PRL VII i VIII kadencji. Od listopada 1985 do października 1987 minister handlu wewnętrznego i usług, a następnie minister rynku wewnętrznego w rządzie Zbigniewa Messnera.
W latach 1985–1986 był sekretarzem Centralnego Komitetu, zaś od kwietnia 1989 do lutego 1990 prezesem CK SD. W wyborach czerwcowych w 1989 nie został wybrany na posła z listy krajowej.