Od 1997 do 2001 zasiadał w Sejmie III kadencji z ramienia Akcji Wyborczej Solidarność. W 2001 bez powodzenia ubiegał się o reelekcję. Należał do Zjednoczenia Chrześcijańsko-Narodowego. W wyborach parlamentarnych w 2005 został wybrany na senatora VI kadencji z ramienia Prawa i Sprawiedliwości w okręgu częstochowskim. Jego mandat wygasł 19 grudnia 2005 w wyniku podjęcia przez Sąd Najwyższy 15 grudnia 2005 uchwały o nieważności wyborów do Senatu w tym okręgu z powodu błędów na kartach do głosowania. 22 stycznia 2006 ponownie został wybrany w powtórzonych wyborach. Objął funkcję wiceprzewodniczącego Komisji Kultury i Środków Przekazu. Wszedł również w skład Komisji Spraw Emigracji i Łączności z Polakami za Granicą. W wyborach parlamentarnych w 2007 po raz drugi uzyskał mandat senatorski, otrzymując 74 991 głosów. W trakcie kadencji wstąpił do PiS.
W wyborach parlamentarnych w 2011 był ponownie kandydatem PiS do Senatu w okręgu wyborczym nr 68, nie uzyskując reelekcji. W wyniku wyborów uzupełniających z lutego 2015 (przeprowadzonych w okręgu wyborczym nr 75) powrócił w skład Senatu, zastąpił w nim Elżbietę Bieńkowską. W wyborach z października 2015 został ponownie wybrany na senatora w tym samym okręgu.