Od 1990 zasiadał w rzeszowskiej radzie miasta. W 2001 zastąpił Jana Burego w sejmiku podkarpackim. Mandat utrzymał następnie w 2002 z ramienia Polskiego Stronnictwa Ludowego; w II kadencji zajmował stanowisko członka zarządu województwa (2002–2006). W 2006 przeszedł do PSL „Piast”. W tym samym roku z listy Prawa i Sprawiedliwości (jako kandydat „Piasta”) ponownie został radnym sejmiku, utrzymał też stanowisko w nowo powołanym zarządzie województwa. W 2010 uzyskał reelekcję w wyborach wojewódzkich, kandydując tym razem z ramienia Platformy Obywatelskiej. W maju 2013 wbrew stanowisku PO poparł kandydata PiS na marszałka województwa, obejmując w nowym zarządzie funkcję wicemarszałka. Przystąpił następnie do PiS i klubu radnych tej partii. Niespełna rok później został zawieszony w prawach członka partii. W maju 2014 został odwołany z funkcji wicemarszałka województwa. Kilka tygodni później został usunięty z klubu PiS w sejmiku. W kolejnych wyborach w tym samym roku bez powodzenia kandydował z listy lokalnego komitetu do rady powiatu leżajskiego.