 Macfarlane was on the Christchurch City Council (1927–1929, 1936–1941, 1947–1959, and 1961–1981), and was Mayor of Christchurch twice, from 1938 to 1941 and from 1950 to 1958.He was at various times a member of the Lyttelton Harbour Board.Macfarlane entered Parliament in 1939 following a by-election, replacing Ted Howard (although Howard's daughter Mabel Howard had hoped to replace him following his death).