Urodzony w Makowie Podhalańskim piłkarz rozpoczynał swoją karierę w Garbarzu Zembrzyce. Następnie występował w GKS Katowice, Ruchu Chorzów, Legii Warszawa, Lechii/Olimpii Gdańsk, Widzewie Łódź, Pogoni Szczecin, Amice Wronki, Wiśle Płock, Świcie Nowy Dwór Mazowiecki. Karierę zakończył w 2007 roku w Mazurze Karczew.

Na poziomie Ekstraklasy rozegrał 263 mecze. Znany z mocnych uderzeń z dystansu zawodnik strzelił dziesięć goli.

Po tym, jak zawiesił buty na kołku, rozpoczął karierę szkoleniową. W sezonie 2007/2008 był trenerem Hutnika Warszawa, a w sezonie 2009/10 prowadził Świt Nowy Dwór Mazowiecki. Obecnie jest trenerem w klubie MUKS Unia Warszawa.