Buchanan was vice-chairman of Glasgow Trade Council and sat on the city council (1919-1923). He was elected as a Member of Parliament in the 1922 General Election to represent Gorbals in the House of Commons.
In 1932 Buchanan became chairman of the United Patternmakers Association of Great Britain, a position he held for sixteen years. He initially agreed with James Maxton's moving the ILP out of the mainstream Labour Party, but decided to leave them to rejoin Labour in 1939.
Following the 1945 General Election, the new prime minister, Clement Attlee, appointed Buchanan as Under-Secretary of State for Scotland. He also later served as Minister of Pensions.
Buchanan retired from Parliament in 1948 and died on June 28, 1955.