Urodzony 3 maja 1942 w Chorzowie; pomocnik, obrońca.
Wychowanek chorzowskiego Zrywu, z którym sięgnął po mistrzostwo Polski juniorów, grał też w Naprzodzie Lipiny. Stamtąd trafił do Warszawy – na studia na AWF i do Legii, w barwach której zagrał 56 razy w ekstraklasie. Potem wrócił w rodzinne strony i w szeregach Ruchu – grając dla niego 151 meczów na boiskach elity – zdobył wszystkie trzy medale MP: brązowy (1967), srebrny (1970) i złoty (1968). W sumie w ekstraklasie rozegrał 207 meczów, strzelając w nich 11 goli. Karierę zawodniczą kończył we francuskim Chateauroux.
W reprezentacji Polski wystąpił trzykrotnie.
Wszystkie boiskowe osiągnięcia zbladły jednak wobec sukcesów w roli szkoleniowca. Zaczynał jako trener BKS-u Stali Bielsko-Biała, potem w ekstraklasie Odra Opole, Ruch (bez jednej gry!), wreszcie Górnik Zabrze (tytuł MP’87). W międzyczasie – od 25 stycznia 1981 do 16 czerwca 1986 – selekcjoner reprezentacji Polski, którą poprowadził do trzeciego miejsca w świecie na mundialu w Hiszpanii w 1982 i do 1/8 finału podczas turnieju Mexico’86. Do dziś jedyny selekcjoner, który z biało-czerwonymi awansował na dwa turnieje finałowe MŚ. Z kolei z reprezentacją Tunezji awansował na igrzyska olimpijskie w Seulu, prowadził też zespół narodowy Zjednoczonych Emiratów Arabskich, po czym raz jeszcze – od 2 czerwca 1996 do 31 maja 1997 – pracował z reprezentantami Polski. Ma w imponującym CV także tunezyjski Esperance Tunis, katarski Al-Rayyan oraz Al-Shabab w ZEA. Ceniony także na niwie działaczowskiej (wiceprezes PZPN 2004-2006 i 2008-2012) oraz politycznej (senator VII kadencji, 2007-2011).






