W wyborach w 1997 bez powodzenia kandydował do Sejmu. Wraz z PN przystąpił do Ruchu Społecznego AWS.

Od 1998 do 2002 był radnym i przewodniczącym rady gminy Celestynowa. Od 1998 do 2000 doradzał ministrowi edukacji narodowej. W 2000 pełnił funkcję podsekretarza, a od 21 grudnia 2000 do 2001 sekretarza stanu w tym resorcie. W 2001 był liderem listy AWSP w okręgu podwarszawskim, później był szefem istniejącej w latach 2003–2005 Republikańskiej Partii Społecznej, a w 2006 kandydował bezskutecznie do sejmiku mazowieckiego z listy PiS. Zasiadł w zarządzie krajowym Ruchu Patriotycznego. W 2008 został wiceprezesem stowarzyszenia Ruch Przełomu Narodowego założonego przez Jerzego Roberta Nowaka, a w 2010 sekretarzem generalnym nowo powołanej partii o tej nazwie. W lipcu 2011 jako wiceprezes Ruchu Przełomu Narodowego wprowadził to ugrupowanie do Prawicy Rzeczypospolitej, w której został wiceprezesem oraz pełnomocnikiem w okręgu podwarszawskim. W 2014, jako kandydat tej partii, uzyskał z listy PiS mandat radnego sejmiku mazowieckiego V kadencji. W 2015 jako przedstawiciel Prawicy Rzeczypospolitej bez powodzenia kandydował z listy PiS do Sejmu VIII kadencji w okręgu podwarszawskim (uzyskał 4708 głosów). 16 czerwca 2018 zastąpił Marka Jurka na funkcji prezesa Prawicy Rzeczypospolitej.