Macfarlane was born in Christchurch on 17 May 1900, the son of Emma Rose King Haynes. Born during the Second Boer War, his mother gave him the middle name Mafeking from a town in South Africa that was under siege at the time of his birth. In 1904, he took the surname Macfarlane after his mother married Hugh Macfarlane, a labourer.