Odbył służbę wojskową w Oleśnicy, następnie został zatrudniony jako nauczyciel fizyki oraz wychowania technicznego w swoim macierzystym liceum ogólnokształcącym. W 1992 objął stanowisko zastępcy dyrektora tej szkoły. W 1994 został wybrany na radnego rady miasta Tarnowskie Góry. W 1998 uzyskał mandat radnego powiatu tarnogórskiego (był jej wiceprzewodniczącym do 2000). Związany wówczas z Unią Wolności, kandydował w 2001 bez powodzenia z jej ramienia do Sejmu. W latach 1999–2002 członek rady dzielnicy Bobrowniki Śląskie-Piekary Rudne. W kadencji 2002–2006 ponownie był członkiem rady miasta i – z przerwą – jej przewodniczącym.
W wyborach w 2006 z ramienia Inicjatywy Obywatelskiej Powiatu Tarnogórskiego i z poparciem Platformy Obywatelskiej kandydował na urząd burmistrza Tarnowskich Gór. Wygrał w II turze z ubiegającym się o reelekcję Kazimierzem Szczerbą z SLD, otrzymując 51% głosów. W 2010 w II turze – podobnie jak cztery lata wcześniej – zwyciężył z Kazimierzem Szczerbą, tym razem otrzymując około 69% głosów. W 2014 z powodzeniem ubiegał się o reelekcję z wynikiem blisko 65% w I turze, pokonując Jarosława Ślepaczuka (PO), Barbarę Dziuk (PiS) oraz Jana Jerzego Miodka (SLD Lewica Razem).