Forrest was born in Kelso, Roxburghshire, to George Forrest, a celebrated fishing rod master and tackle maker, and Margaret Torrie Forest.
He played for Hawick Rugby Club as a centre and made his international debut for Scotland in 1903 against Wales. He went on to play in every game for Scotland for the remainder of 1903 and 1904 rugby seasons, in which Scotland were the Home Nations winner, and against Ireland and Wales in 1905. After eight caps, a collarbone injury ended his international career in 1905, but he continued to play for his team in Kelso.
Prior to the war, Forrest served in the Territorial Army. He was commissioned as a second lieutenant in the 1st Roxburgh and Selkirk Volunteer Ride Corps in 1906, and given the same precedence in the King's Own Scottish Borderers in 1908. During the First World War, he participated in the Gallipoli Campaign and was then sent to Palestine, where he was awarded the Military Cross in 1916. The award was gazetted with the following citation:
For conspicuous gallantry in action. He carried out a daring reconnaissance, and obtained most valuable information. He has on many previous occasions done very fine work.