Od 1969 do 1990 należał do Polskiej Zjednoczonej Partii Robotniczej, był członkiem komisji ekonomicznej komitetu wojewódzkiego partii w Toruniu. Sprawował mandat radnego Wojewódzkiej Rady Narodowej. W latach 1989–1997 zasiadał w Sejmie X, I i II kadencji. W 1993 był jednym z dwóch posłów KP Sojuszu Lewicy Demokratycznej, którzy głosowali za wprowadzeniem ustawy antyaborcyjnej. W latach 1997–2005 był członkiem Senatu IV i V kadencji, gdzie reprezentował odpowiednio województwo toruńskie i okręg toruński. W trakcie V kadencji przewodniczył Komisji Nauki, Edukacji i Sportu. Przystąpił do Socjaldemokracji Rzeczypospolitej Polskiej, a następnie do partii SLD. Z ramienia Senatu był również obserwatorem w Parlamencie Europejskim, a od maja do lipca 2004 wykonywał mandat posła w Parlamencie Europejskim V kadencji. W 2005 nie ubiegał się o senacką reelekcję.

Był akademickim mistrzem Polski w biegach długich, w latach 90. mistrzem Polski weteranów. Pełnił funkcję wiceprezesa Polskiego Związku Weteranów Lekkiej Atletyki.