Il est vice-président du Glasgow Trades Council et siège au conseil municipal de 1919 à 1923. En 1922, il est élu à la Chambre des communes comme député de Glasgow Gorbals.
En 1932, Buchanan devient président de la United Patternmakers Association of Great Britain, et le reste pendant 16 ans. Il est initialement d'accord avec le fait que James Maxton retire l'ILP du parti travailliste traditionnel, mais décide de le laisser rejoindre le parti travailliste en 1939.
Il démissionne du Parlement en 1948 pour occuper le poste de président du National Assistance Board et est remplacé par Alice Cullen, qui lui avait déjà succédé en tant que candidat pour Glasgow Gorbals.