Grant se je rodil v Nairnu na Škotskem gorovju, kjer je bil njegov oče župni duhovnik, študiral pa je na akademiji Nairn, v gimnaziji Aberdeen in na Marischal College v Aberdeenu. Leta 1846 se je pridružil indijski vojski. Bil je aktivni vojak v Sikh vojni.
(1848-49), je služil v indijskem uporu leta 1857 in je bil ranjen v operacijah za reševanje Lucknowa.