Roberts was born in London and educated in Guernsey. He became a sailor and then travelled to Queensland in 1886. He became a wharf labourer and union secretary in Port Pirie, South Australia and in 1892 he married Bridget Marie Collins.
In 1893, Roberts unsuccessfully stood for election to the South Australian House of Assembly for seat of Gladstone, but won it for Labor at the 1896 election. Although he initially opposed the sending of South Australian troops to the Second Boer War in 1899, in early 1900 he served as a lieutenant with the 4th Imperial Bushmen's Contingent there. He returned in July 1901, resigned his seat and helped organise the 2nd Battalion, Australian Commonwealth Horse. He returned to western Transvaal in mid-1902 as a captain. After his return to Australia, he edited the Labor Weekly Herald from 1904 to 1908.
Roberts won the 1908 Adelaide by-election. He was an honorary minister in the second Fisher Ministry, representing the Minister for Defence in the House of Representatives from October 1911 to 1913 and was acting Minister for Defence in 1911 while George Pearce was visiting England. Just after speaking in Parliament in Melbourne he collapsed and died of a heart condition, survived by his wife, son and three daughters.
|Member of the Australian Parliament|
13 June 1908 – 2 December 1913
|Preceded by||Charles Kingston|
|Succeeded by||George Edwin Yates|
21 February 1868|
2 December 1913 (aged 45)|
|Political party||Labor Party|
|Spouse(s)||Bridget Marie Collins|
|South Australian House of Assembly|
| Member for Gladstone
Served alongside: Alfred Catt
|Parliament of Australia|
| Member for Adelaide
George Edwin Yates