Łącznie trzykrotnie startował w letnich igrzyskach olimpijskich, za każdym razem zdobywając medal. W Melbourne w 1956 wywalczył medal brązowy w kategorii lekkośredniej. W Rzymie w 1960 dotarł do finału wagi półciężkiej, w którym przegrał z reprezentującym Stany Zjednoczone Cassiusem Clayem. W Tokio w 1964 zdobył brązowy medal w wadze półciężkiej.
Pięciokrotnie wystąpił na mistrzostwach Europy, zdobywając pięć medali. Poza brązowym medalem z Warszawy z 1953 zdobył cztery złote medale: w Berlinie Zachodnim w 1955 w wadze lekkośredniej, w Pradze w 1957 w wadze średniej, a w Lucernie w 1959 i w Moskwie w 1963 w wadze półciężkiej.
Jedenaście razy zdobywał mistrzostwo Polski: w wadze lekkośredniej w 1954, 1955, i 1956, w średniej w 1957 i w półciężkiej w latach 1959–1965. Żaden polski pięściarz nie zdobył więcej tytułów mistrza Polski, a jego rekord wyrównał w 2005 Andrzej Rżany.