W 1990 roku został radnym gminy Pleśna koło Tarnowa i zastępca wójta odpowiedzialnym za budowę infrastruktury technicznej. W 1997 roku kandydował do Sejmu z listy AWS, ale nie zdobył mandatu. Został za to wojewodą tarnowskim.
Pracował jako konsultant Banku Światowego (w 1999 roku). W tym samym roku został podsekretarzem stanu w ministerstwie zdrowia.
W 2001 roku po raz pierwszy został posłem, startując z listy PO. Po dojściu do władzy PiS-u w 2005 roku został rzecznikiem w gabinecie cieni PO odpowiedzialnym za rolnictwo oraz szefem Komisji Skarbu Państwa w Sejmie V kadencji.
Po zwycięstwie Platformy w wyborach parlamentarnych 2007 r., 16 listopada został powołany na stanowisko ministra skarbu państwa w koalicyjnym rządzie Donalda Tuska.