Jest wychowankiem Jagielloni Białystok, klubu w którym spędził trzy lata.
Kolejne trzy lata grał we francuskim RC Strasbourg (pierwszy sezon spędził w rezerwach).
W 1996 roku zaliczył epizod w japońskim Nagoya Grampus Eight.
Po rozegraniu siedmiu meczów wrócił do drugiej ligi francuskiej: najpierw do CEP Poitiers, a po roku do FC Martigues.
Stamtąd wykupiła go Wisła Kraków, w której spędził osiem lat. W 169 meczach tej drużyny strzelił 111 bramek - trzykrotnie był królem strzelców ekstraklasy. 5 razy zdobył mistrzostwo Polski, 2 razy puchar Polski i raz puchar ligi.
W 2005 roku przeszedł za 900 tys. euro do drugoligowego, hiszpańskiego Elche CF.
W kadrze Polski zadebiutował w kwietniu 1999 roku w meczu z Czechami. Do października 2005 roku rozegrał 16 meczów, strzelając 10 goli.
19 lutego 2008 podpisał kontrakt z klubem Chicago Fire, występującym w amerykańskiej lidze MLS.