W 1998 roku ukończył studia na Wydziale Historii Papieskiej Akademii Teologicznej w Krakowie. Należał kolejno do Porozumienia Centrum i Prawa i Sprawiedliwości. Pełnił funkcję dyrektora kancelarii prezydenta Krakowa (1999–2002) oraz był radnym Krakowa (2002–2005) i przewodniczącym dzielnicy XVI Bieńczyce. Był członkiem Rycerzy Kolumba.
W 2005 zdobył mandat posła z listy Platformy Obywatelskiej. W kolejnych wyborach (2007, 2011, 2015) uzyskiwał reelekcję. Przewodniczył regionowi małopolskiemu PO (2010–2013) i był członkiem zarządu krajowego partii. W Sejmie VIII kadencji był przewodniczącym Komisji Kultury Fizycznej, Sportu i Turystyki, a także członkiem innych komisji.
W 2019 ponownie został wybrany posłem z ramienia Koalicji Obywatelskiej. W 2021 został usunięty z PO i klubu parlamentarnego KO, dołączając do Koalicji Polskiej i zakładając stowarzyszenie "Tak, Polska!". W 2022 był założycielem partii Centrum dla Polski w ramach Koalicji Polskiej, a w 2023 został jej prezesem.