W latach 1966–1990 był członkiem Polskiej Zjednoczonej Partii Robotniczej. Od 1976 do 1979 pełnił funkcję sekretarza komitetu zakładowego PZPR w Zakładach Azotowych „Włocławek”. Po przemianach politycznych należał do Socjaldemokracji Rzeczypospolitej Polskiej, a w 1999 przystąpił do Sojuszu Lewicy Demokratycznej. W 1990 został wybrany do rady miejskiej Włocławka, odnawiał mandat w 1994 i 1998. W latach 1994–1995 pełnił funkcję przewodniczącego rady, później kierował klubem radnych SLD. Od stycznia 1995 do października 1997 był zastępcą kierownika Urzędu do spraw Kombatantów i Osób Represjonowanych. W 1991, 1993 i 1997 z ramienia SLD uzyskiwał mandat senatora II, III i IV kadencji z województwa włocławskiego. W 2001 po raz czwarty został wybrany z okręgu toruńskiego, powołano go na funkcję wicemarszałka Senatu. W Senacie przewodniczył Klubowi Senatorów SLD-UP „Lewica Razem”, pracował w Komisji Spraw Zagranicznych, Komisji Kultury i Środków Przekazu oraz Komisji Nauki, Edukacji i Sportu. W 2005 bez powodzenia ubiegał się o reelekcję, a w 2006 o mandat radnego Sejmiku Województwa Kujawsko-Pomorskiego.