He became active in socialist circles, joined the Scottish Land & Labour League and met William Morris, a leading figure in European socialism, in Edinburgh.
Bain moved north to Kimberley and soon after to the Transvaal (which had after the victory at Majuba in 1881 regained its independence from Britain as the Zuid Afrikaanse Republiek).
When the Second Boer War broke out between the ZAR and Britain in October 1899, Bain joined the Transvaal forces and fought for his adopted country.
On 31 July 1900, the day Johannesburg fell to the British, he was captured there and faced the prospect of a charge of treason, but was eventually treated as a POW on the basis of his naturalisation to the Transvaal.
On 4 July 1914, in a meeting between the strike leaders, Prime Minister Louis Botha and then-minister Jan Smuts, agreement was reached on the basis of full reinstatement of all miners who had been dismissed and an undertaking by the government to consider all the grievances of the trade unions.
Bain and fellow labour leaders barricaded themselves into their headquarters and on 13 January the Federation announced that affiliated unions had balloted in favour of the strike.
After writing a letter to a newspaper from his death bed, urging readers to vote for Labour and Socialist candidates in the forthcoming local election, he died on 29 October.