Na początku lat 90. prowadził własną działalność gospodarczą, później pracował jako menedżer w spółkach prywatnych i komunalnych. Od 1994 był związany z samorządem terytorialnym. W kadencji 1994–1998 był radnym Zgierza. Później do 2002 zasiadał w radzie powiatu zgierskiego I kadencji. Od 2002 do 2006 zajmował stanowisko wiceprezydenta Zgierza, odpowiedzialnego m.in. za finanse, oświatę, kulturę, sport oraz inwestycje i pozyskiwanie funduszy europejskich.

W latach 1997–2001 był sekretarzem osobistym Prezesa Rady Ministrów, Jerzego Buzka. Działał w AWS. Należał do Porozumienia Centrum, a potem do Ruchu Społecznego AWS (był szefem Ruchu Młodych RS AWS). Od 2004 do 2013 należał do Platformy Obywatelskiej. Był członkiem zarządu krajowego Polskiego Komitetu Paraolimpijskiego.

Bez powodzenia ubiegał się o mandat poselski w 1997 z listy AWS i 2001 z ramienia AWSP. W wyborach samorządowych w 2006 kandydował na urząd Prezydenta Miasta Łodzi. W I turze uzyskał drugi wynik (27,03% poparcia, 59 946 głosów). W II turze przegrał z Jerzym Kropiwnickim, otrzymując 44,31% głosów. W tym samym roku uzyskał mandat radnego sejmiku łódzkiego, w którym objął stanowisko wiceprzewodniczącego.