Forrest was born in London, the second son of Lieutenant-Colonel William Forrest of the Bengal Army, and his wife, Georgiana Christina Carmichael-Smyth, daughter of James Carmichael Smyth and sister of Sir James Carmichael-Smyth, 1st Baronet. He joined the Army as a cornet in 1836, and was promoted lieutenant in 1839, captain in 1841, major in 48, brevet lieutenant-colonel in 1854, lieutenant-colonel in 1859, colonel in 1860, major-general in 1868, lieutenant-general in 1877 and full general on 1 July 1881. He fought in the Crimean War and took part in the Charge of the Heavy Brigade at Balaclava. He was appointed CB in the 1875 Birthday Honours.