Grant wurde in Nairn im schottischen Hochland geboren. Er besuchte das "Marischal College" in Aberdeen, welches heute Teil der University of Aberdeen ist. Er trat 1846 in die indische Armee ein und kämpfte während des Ersten und Zweiten Sikh-Krieges unter Hugh Gough, 1. Viscount Gough (1849) und während des Sepoy-Aufstandes (1857–1858) in Indien. Er wurde unter Henry Havelock 1857 beim Entsatz von Lakhnau verwundet und stieg bis zum Oberst auf.