Od 1970 do rozwiązania działał w Polskiej Zjednoczonej Partii Robotniczej. W wyborach w 1993 uzyskał mandat poselski w okręgu wyborczym nr 32 jako kandydat bezpartyjny z listy Sojuszu Lewicy DemokratycznejSejm Rzeczypospolitej Polskiej. II kadencja. Przewodnik, Wydawnictwo Sejmowe, Warszawa 1994, s. 10.; otrzymał wówczas 3641 głosy. Z powodzeniem ubiegał się o reelekcję w wyborach w 1997 (z wynikiem 3126 głosów). Przystąpił do Socjaldemokracji Rzeczypospolitej Polskiej, w 1999 roku został członkiem przekształconego w partię Sojuszu Lewicy Demokratycznej (zasiadał w radzie krajowej obu tych ugrupowań). Po raz trzeci uzyskał mandat poselski w 2001, startując do Sejmu w okręgu pilskim z listy koalicji SLD–UP. W 2004 przystąpił do Socjaldemokracji Polskiej (był członkiem konwentu krajowego tego ugrupowania). W Sejmie IV kadencji był zastępcą przewodniczącego Komisji Rolnictwa i Rozwoju Wsi, a także członkiem Komisji Łączności z Polakami za Granicą oraz Komisji Finansów Publicznych. W wyborach w 2005 bezskutecznie ubiegał się o reelekcję z listy SDPL. W 2006 z ramienia Lewicy i Demokratów uzyskał mandat radnego powiatu międzychodzkiego, w radzie był członkiem Komisji Rewizyjnej.