Działalność partyjna i parlamentarna W 1984 wstąpił do Zjednoczonego Stronnictwa Ludowego, w 1989 został członkiem Polskiego Stronnictwa Ludowego „Odrodzenie”, a w 1990 członkiem Polskiego Stronnictwa Ludowego. Objął m.in. funkcję prezesa zarządu wojewódzkiego tej partii. Od 1991 do 2001 zasiadał w Senacie, reprezentując województwo płockie. Pełnił m.in. funkcję przewodniczącego Komisji Polityki Społecznej i Zdrowia w II kadencji. Od 1993 do 1997 był marszałkiem Senatu III kadencji. W 2001 bez powodzenia ubiegał się o reelekcję. W 2007 uzyskał mandat poselski, zrezygnował jednak z jego objęcia, wybierając pozostanie na stanowisku marszałka województwa. W 2011 bez powodzenia ubiegał się o mandat poselski, a w 2014 o europarlamentarny. W 2015 został wiceprezesem NKW PSL.

Działalność samorządowa W latach 1984–1988 z ramienia Zjednoczonego Stronnictwa Ludowego był radnym gminy Nowy Duninów. W 1988 uzyskał mandat radnego miasta i gminy Gąbin. Pełnił funkcję delegata do sejmiku samorządowego województwa płockiego i do Krajowego Sejmiku Samorządu Terytorialnego, którego był przewodniczącym. W 1998, 2002, 2006, 2010, 2014, 2018 i 2024 uzyskiwał mandat radnego sejmiku mazowieckiego. W I kadencji przewodniczył Komisji Zdrowia i Kultury Fizycznej. W 2010 kandydował na prezydenta Płocka, zajmując 4.