He was appointed an Ensign into the 78th Highlanders in 1845. After 8 years service in India and Aden he was appointed Adjutant of the 78th in 1853. In January 1857 he joined Sir James Outram's expedition to Persia. On returning to India in May of that year they were involved in the early stages of the Indian Mutiny and were among the first troops into Cawnpore after the horrific murder of the British garrison and its families by Nama Sahib. Lieutenant Macpherson was awarded the Victoria Cross on the 25 September 1857 for "distinguished conduct in setting an example of heroic gallantry to the men of the regiment at the period of action in which they captured two brass 9-pounders at the point of the bayonet."
According to the India Office Ecclesiastical Returns for the Bengal Presidency, India, Herbert married Maria Elizabeth Henrietta Eckford on the 6 September 1859. There were no children recorded in India or the UK.
Following the award of the Victoria Cross, Herbert Macpherson's subsequent military career continued in brilliant fashion. He transferred to the 82nd Foot in India and rose to the rank of Major General. He was made a KCB as Brigade Commander in the Afghanistan campaign of 1878-1880. In 1882 he commanded the Indian Division sent to Egypt with Sir Garnet Wolseley's expedition against the rebellious Egyptians and was present at the decisive battle of Tel-el-Kebir. His skilful conduct of his troops earned him the reward of the Order of the Knight Commander of the Star of India and the thanks of both Houses of Parliament. Following this success, he was given charge of the expedition to pacify Burma in 1886 but unfortunately, he died of fever at Mandalay on 20th October 1886.
His Victoria Cross is on display in the Regimental Museum in Fort George near Inverness.