Pod koniec lat 70. zaangażował się w działalność opozycyjną. Od 1978 do 1980 działał w Ruchu Obrony Praw Człowieka i Obywatela. W latach 80. był współzałożycielem i uczestnikiem opozycyjnego Ruchu Młodej Polski, członkiem władz krajowych Niezależnego Zrzeszenia Studentów, pracował w redakcji podziemnej „Polityki Polskiej” i emigracyjnych „Znaków Czasu”. Należał także do Klubu Inteligencji Katolickiej.
Działalność publiczna w III RP Lata 1989–2005 W 1989 należał do założycieli Zjednoczenia Chrześcijańsko-Narodowego, był wiceprezesem i przewodniczącym rady naczelnej tej partii. W latach 1989–1993 sprawował mandat posła na Sejm X kadencji z listy Komitetu Obywatelskiego i I kadencji z listy Wyborczej Akcji Katolickiej. W Sejmie kontraktowym wspólnie z Janem Łopuszańskim i Stefanem Niesiołowskim współtworzył charakterystyczny wizerunek ZChN. W trakcie I kadencji Sejmu był wiceprzewodniczącym Komisji Spraw Zagranicznych.