Campbell was born in Scotland in 1798, the son of Rev. Pryce Campbell, the Presbyterian minister in Ardersier. In 1817 he obtained a cadetship in the service of the British East India Company, and was commissioned as a lieutenant in the Madras Army on 2 October 1818. Promoted to captain on 3 October 1826 during the First Anglo-Burmese War, Campbell served in the 43rd regiment of Madras native infantry from 1826-7, and was decorated with the Indian war-medal for services rendered. He was invalided out of active service in 1831 and promoted to major in 1836, before retiring from the army in 1839.