Od 1969 do 1990 był członkiem PZPR, w 1989 współtworzył w ramach struktur partii (tzw. „reformatorski”) „Ruch 8 lipca”. Po rozwiązaniu PZPR został członkiem Socjaldemokracji Rzeczypospolitej Polskiej. W latach 1990–1993 pełnił funkcję wojewódzkiego sekretarza wykonawczego w Lublinie. W latach 1993–1997 był wiceprzewodniczącym, a od 1997 przewodniczącym Rady Wojewódzkiej SdRP. Od 1999 do 2008 kierował strukturami wojewódzkimi SLD, od 2008 przewodniczył powiatowym strukturom SLD w powiecie lubelskim, zasiadał też w Radzie Krajowej tej partii.
W 2008 został zastępcą dyrektora w lubelskim oddziale Agencji Nieruchomości Rolnych. W 2010 kandydował bez powodzenia do sejmiku lubelskiego, rok później objął mandat radnego w miejsce Jacka Czerniaka (wybranego do Sejmu). Nie przystąpił do klubu radnych SLD, a wiosną 2012 zrezygnował z członkostwa w partii. W listopadzie 2013 wstąpił do partii Twój Ruch (która powstała z przekształcenia Ruchu Palikota). W wyborach do Parlamentu Europejskiego w 2014 bezskutecznie ubiegał się o mandat w okręgu lubelskim, uzyskując 1795 głosów. Nie ubiegał się w tym samym roku o reelekcję do sejmiku. W 2018 kandydował bezskutecznie do tego gremium z listy SLD Lewica Razem, a w 2024 (po opuszczeniu Nowej Lewicy, do której wcześniej przystąpił) był kandydatem Koalicji Obywatelskiej.