Being a younger son, he began a military career when aged 15 in 1793 as a Lieutenant in the Strathspey Fencibles.
In 1802 'Colonel Grant' was elected to the House of Commons for Elgin Burghs, a seat he held until 1806, and then represented Inverness Burghs from 1806 to 1807, Elginshire from 1807 to 1832 and Elginshire and Nairnshire from 1832 to 1840.