Urodził się w Nairn w północnej Szkocji; po ukończeniu miejscowej szkoły pobierał nauki w Aberdeen. W wieku 19 lat wstąpił do British Army i jako oficer wysłany został do Indii, gdzie brał udział w II wojnie z Sikhami w latach 1848-1849 i w tłumieniu powstania sipajów w roku 1857. Tam też zaprzyjaźnił się z Johnem Spekem, który w roku 1860 – gdy Grant powrócił ranny z Indii – zaprosił go do udziału w swej drugiej wyprawie do źródeł Nilu.