Członek katolickiej organizacji Rycerze Kolumba (jej współzałożyciel i w latach 2005–2009 pierwszy zwierzchnik w Polsce), Związku Podhalan i Klubu Inteligencji Katolickiej.
W 2001 bez powodzenia ubiegał się o mandat poselski z listy AWSP. Później przystąpił do Platformy Obywatelskiej. Z jej listy w 2004 bez powodzenia kandydował do Parlamentu Europejskiego. W wyborach w 2005 został wybrany na posła V kadencji w okręgu nowosądeckim. W wyborach parlamentarnych w 2007 po raz drugi uzyskał mandat poselski, otrzymując 16 009 głosów. Po wyborze Ireneusza Rasia na przewodniczącego PO w Małopolsce w 2010 został jednym z jego zastępców. W wyborach w 2011 z powodzeniem ubiegał się o reelekcję, dostał 15 345 głosów. W 2014 ponownie bezskutecznie kandydował do PE. W 2015 nie został ponownie wybrany do Sejmu. W 2017 przeszedł z PO do Porozumienia Jarosława Gowina, wchodząc w skład regionalnych władz tego ugrupowania. W wyborach w 2019 był przedstawicielem tej partii na liście PiS do Sejmu. Uzyskał wówczas mandat posła IX kadencji, otrzymując 12 437 głosów.