W 1997 kierował regionalną kampanią wyborczą Akcji Wyborczej Solidarność, a w wyborach samorządowych w 1998 bez powodzenia ubiegał się z listy AWS o mandat radnego sejmiku lubuskiego. W 2002 został redaktorem naczelnym związkowego periodyku „Feniks”. Od 2005 do 2010 był kierownikiem zespołu piłki ręcznej mężczyzn AZS-AWF Gorzów Wielkopolski.
W 1988 został członkiem jawnych władz „Solidarności”, w latach 2006–2015 zajmował stanowisko przewodniczącego zarządu Regionu Gorzowskiego NSZZ „S”.
W wyborach parlamentarnych w 2015 kandydował do Sejmu w okręgu zielonogórskim z pierwszego miejsca na liście komitetu wyborczego wyborców Kukiz’15, zorganizowanego przez Pawła Kukiza. Uzyskał mandat posła VIII kadencji, otrzymując 10 777 głosów. W grudniu 2017 przeszedł z klubu Kukiz’15 do koła poselskiego Wolnych i Solidarnych, którego był członkiem do czasu śmierci Kornela Morawieckiego, co spowodowało rozwiązanie koła. W maju 2018 współtworzył z Adamem Andruszkiewiczem Stowarzyszenie „Dla Polski”, został członkiem jego zarządu.
W Sejmie pełnił funkcje zastępcy przewodniczącego Komisji Gospodarki i Rozwoju oraz członka Komisji Polityki Społecznej i Rodziny. Od 2016 należał do Parlamentarnego Zespołu ds.