Bez powodzenia kandydował do Sejmu z listy PC w 1991. Od 1997 do 2001 sprawował mandat posła na Sejm III kadencji z listy Akcji Wyborczej Solidarność. Pracował w Komisji Spraw Zagranicznych oraz Komisji Administracji i Spraw Wewnętrznych. Był także członkiem stałej delegacji Sejmu i Senatu do Zgromadzenia Parlamentarnego Unii Zachodnioeuropejskiej i przewodniczącym Poselskiego Zespołu na rzecz Społeczeństwa Informacyjnego. Od 2002 do 2005 zasiadał w bydgoskiej radzie miasta. W 2004 bez powodzenia kandydował z listy PiS do Parlamentu Europejskiego w okręgu bydgoskim.
W 2005 został wybrany do Senatu VI kadencji z listy PiS w okręgu bydgoskim. Był członkiem Komisji Praw Człowieka i Praworządności i zastępcą przewodniczącego Komisji do Spraw Unii Europejskiej. W przedterminowych wyborach parlamentarnych w 2007 ponownie kandydował do Senatu z listy PiS, uzyskał 86 750 głosów, co nie wystarczyło na zdobycie mandatu. W 2010 kandydował z ramienia tej samej partii na urząd prezydenta Bydgoszczy, zajmując trzecie miejsce.
W wyborach w 2011 został wybrany do Sejmu. Kandydował jako lider listy PiS w okręgu bydgoskim, dostał 21 607 głosów. Kandydował z ramienia PiS również w wyborach do Parlamentu Europejskiego w 2014, uzyskując mandat europosła VIII kadencji.