Forbes was born in Kinnaird, Perthshire and was brought up by his grandfather from the age of three after his parents and younger brother emigrated to the United States.
Illiterate until 13, he showed no early signs of linguistic ability but despite this late start, at age 17 he was appointed schoolmaster of the village of Stralock.
In 1823 he took a post at Calcutta Academy, but because of poor health he was forced to return to Europe in 1826.
In 1837 he became professor of Oriental languages at King's College London and stayed at this post until his retirement in 1861.
During his time at King's College London he also worked at the British Museum, cataloguing the collection of Persian manuscripts.