W wyborach samorządowych w 1998 bezskutecznie ubiegał się o mandat radnego powiatu kartuskiego z listy Akcji Wyborczej Solidarność. Bez powodzenia z ramienia PiS kandydował w wyborach parlamentarnych w 2001, 2005, 2007 i 2011, a także z listy koalicji POPiS w wyborach samorządowych w 2002. W 2006 został wybrany na radnego sejmiku pomorskiego III kadencji, pełnił funkcję wiceprzewodniczącego sejmiku. Mandat utracił w 2010 na kilka miesięcy przed końcem kadencji, kiedy to został prawomocnie skazany na grzywnę za podżeganie do poświadczenia nieprawdy w dokumencie (skazanie uległo zatarciu). W wyniku wyborów w 2014 ponownie wybrany na radnego województwa, został wówczas wiceprzewodniczącym sejmiku V kadencji.

W wyborach parlamentarnych w 2015 uzyskał mandat senatora IX kadencji. W okręgu nr 63, startując z ramienia PiS, uzyskał 60 596 głosów, pokonując m.in. ubiegającego się o reelekcję Romana Zaborowskiego.

W wyborach parlamentarnych w 2019 bez powodzenia ubiegał się o reelekcję z własnego komitetu wyborczego.