Zaangażował się w działalność polityczną w ramach Kongresu Liberalno-Demokratycznego, w 1993 kandydował z jego ramienia do Sejmu. Przez rok kierował organizacją wojewódzką i przewodniczył zarządowi wojewódzkiemu KLD w Opolu. W 1994 po połączeniu się tego ugrupowania z Unią Demokratyczną został członkiem Unii Wolności. Do 2001 pełnił funkcję wiceprzewodniczącego regionu opolskiego UW. W tym samym roku przeszedł do Platformy Obywatelskiej. Był m.in. członkiem zarządu regionu PO, a w styczniu 2006 objął funkcję rzecznika w tzw. gabinecie cieni PO (odpowiedzialnym za infrastrukturę).

W latach 1994–1997 zasiadał w radzie miasta Opola. W wyborach do Sejmu w 1997 uzyskał mandat poselski jako kandydat UW w okręgu opolskim. W wyborach w 2001 ponownie został posłem, tym razem jako kandydat PO. Po raz kolejny mandat uzyskał w wyborach w 2005. W Sejmie V kadencji był wiceprzewodniczącym Komisji Infrastruktury. W wyborach parlamentarnych w 2007 po raz czwarty został posłem, otrzymując w okręgu opolskim 18 447 głosów. 23 listopada 2007 został sekretarzem stanu w Ministerstwie Infrastruktury.