Był rekordzistą Europy w biegu na milę (3;56,04, 3 sierpnia 1964, Londyn) Sześciokrotnie ustanawiał rekordy Polski: trzykrotnie na 1500 m (do wyniku 3:38,9 21 października 1964 w Tokio), a także na 5000 m (13:41,6 6 lipca 1969 w Paryżu), na 2000 m i w klubowej sztafecie olimpijskiej.
W latach 1959–1970 wystąpił w trzydziestu jeden meczach reprezentacji Polski na 800 m, 1500 m i 5000 m (40 startów), odnosząc 12 zwycięstw indywidualnych.
Rekordy życiowe: Bieg na 800 m – 1:48,1 (14 sierpnia 1966, Warszawa) Bieg na 1000 m – 2:21,2 (26 sierpnia 1962, Bydgoszcz) Bieg na 1500 m – 3:38,9 (19 października 1964, Tokio) Bieg na milę – 3:56,04 (3 sierpnia 1964, Londyn) Bieg na 2000 m – 5:03,6 (5 czerwca 1963, Bydgoszcz) Bieg na 3000 m – 7:55,4 (16 czerwca 1963, Bydgoszcz) Bieg na 5000 m – 13:41,6 6 lipca 1969, Paryż)
Przygodę ze sportem rozpoczął w Zrywie Ostrowiec Świętokrzyski (1955–1957), by potem reprezentować barwy KSZO Ostrowiec Świętokrzyski (1958), Stali Mielec (1959), Legii Warszawa (1960–1962) i Zawiszy Bydgoszcz (1963–1972). Po zaprzestaniu aktywnego uprawiania sportu został trenerem w Zawiszy Bydgoszcz oraz działaczem PZLA.