Trois fois champion britannique de boxe amateur des poids légers en 1956, 1958 et 1960, il devient champion olympique de la catégorie aux Jeux de Melbourne en 1956 en s'imposant en finale contre l'Allemand Harry Kurschat. Médaillé de bronze aux Jeux de Rome en 1960, McTaggart remporte également au cours de sa carrière le titre européen en 1961 et deux titres britanniques des super-légers en 1963 et 1965.