Джеймс Грант народився у 1827 році у шотландському місті Нерн. У 1846 році вступив в Індійську армію, брав участь у другій англо-сикхській війні і придушенні повстання сипаїв, був поранений під час зняття облоги Лакхнау. У 1858 році повернувся до Великої Британії.