MacLeod was born in North Battleford, Saskatchewan. His parents, whose first language was Gaelic, had migrated to Saskatchewan from Cape Breton to homestead during the Great Depression. The family moved on to Edmonton when MacLeod was five and then to the town of Mercoal, Alberta where his father worked in a coal mine. However, the MacLeods suffered from homesickness and when Alistair was 10, they returned to Cape Breton and the farmhouse in Dunvegan, Inverness County, that his great-grandfather had built in the 1860s.