Hansen representerte Postfunksjonærenes Idrettsforening (1918–1926), Sleipner (1924–1929) og Rollo (1930–). Han ble arbeidermester i friidrett hele 37 ganger, i øvelsene 60 meter, 100 meter, 200 meter, 400 meter og lengdehopp. Han deltok i flere arbeiderolympiader: I 1931 ble han nummer to på 100 og 200 meter, og i 1934 vant han 100 meter, 200 meter og var med på det norske laget som vant 4 x 100 meter stafett. Hansen og Norge gjentok denne prestasjonen under arbeiderolympiaden i 1937.