He ran for South Africa in the 1956 Summer Olympics held in Melbourne, Australia, finishing sixth in the 400 meters. In the 1958 Commonwealth Games he won silver in the individual and gold in the relay. He also represented his country in the 400 metres in the 1960 Summer Olympics held in Rome, Italy, where he won the bronze medal. Curiously, there were two people named Malcolm Spence running the 400 meters distance at the 1960 Olympics, both getting a bronze medal. Malcolm Spence from Jamaica was unable to get out of the semi-final round in the Open race. But the Jamaican, who shortened his name to Mal Spence, led off his British West Indian relay team which finished a second ahead of the South African relay team anchored by this Malcolm Spence.