Podczas studiów działał w Niezależnym Zrzeszeniu Studentów. Tuż przed przełomem w 1989 roku pracował w Spółdzielni Mieszkaniowej w Piekarach Śląskich. W 1990 roku został radnym Rady Miejskiej w Piekarach Śląskich, a następnie wiceprezydentem miasta. W 1993 roku bezskutecznie kandydował z listy Katolickiego Komitetu Wyborczego "Ojczyzna" do Sejmu.
W wyborach parlamentarnych w 1997 roku zdobył mandat poselski z listy AWS jako kandydat Koalicji Konserwatywnej i zrezygnował funkcji wiceprezydenta Piekar Śląskich. W 2000 roku bezskutecznie ubiegał się o fotel prezesa Instytutu Pamięci Narodowej. Należał do Stronnictwa Konserwatywno-Ludowego. Po tym jak stronnictwo podpisało porozumienie z Platformą Obywatelską, przyłączył się do partii Przymierze Prawicy, założonej m.in. przez część działaczy SKL.
W kolejnych wyborach do Sejmu w 2001 roku zdobył mandat poselski już jako kandydat Prawa i Sprawiedliwości. W Sejmie IV kadencji był wiceszefem Komisji Infrastruktury. W wyborach parlamentarnych w 2005 roku otrzymał w Katowicach 39335 głosów i po raz trzeci zdobył mandat poselski. Jest prezesem Zarządu Wojewódzkiego Prawa i Sprawiedliwości w województwie śląskim, członkiem Zarządu Głównego partii oraz Rady Politycznej PiS. 31 październiak 2005 roku został ministrem transportu i budownictwa. W maju 2006 roku został odwołany z tego stanowiska i powołany na stanowisko ministra transportu.
Ponownie został powołany na to stanowisko 8 września 2007, po tym, jak 7 września na wniosek premiera został z niego odwołany (premier ubiegł w ten sposób debatę i głosowanie nad wnioskiem PO ws. wotum nieufności wobec niego).
Stanowisko stracił 5 listopada 2007 roku po dymisji rządu Jarosława Kaczyńskiego, będącej konsekwencją przegranych przez PiS wyborów parlamentarnych. Trzy dni później zrezygnował z zasiadania w w Komitecie Politycznym Prawa i Sprawiedliwości w geście solidarności z Pawłem Zalewskim, Ludwikiem Dornem i Kazimierzem M. Ujazdowski, którzy zrezygnowali z funkcji wiceprezesów, krytykując sposób zarządzania partią. 14 grudnia tego samego roku wystąpił z PiS, nie godząc się z tym, co działo się w partii, m.in. z niedopuszczeniem trójki do głosu byłych wiceprezesów (nie mogli oni uczestniczyć w kongresie PiS).