He was the son of John Watson, a civil servant. He was born at Manningtree, Essex, and educated at Stirling and at Edinburgh University, later studying theology at New College, Edinburgh, and at Tübingen. In 1874 he became a minister of the Free Church of Scotland and became assistant minister of Edinburgh Barclay Church. Subsequently, he was minister at Logiealmond in Perthshire and at Glasgow, and in 1880 he became minister of Sefton Park Presbyterian Church, Liverpool, from which he retired in 1905.