Campbell est né sous le nom de Colin Macliver dans la famille modeste d'un menuisier de Glasgow. Il fut éduqué par son oncle maternel, le colonel John Campbell, qui obtint son recrutement dans l'armée en 1807 et il changea son nom pour Campbell. Enseigne dans le d'infanterie, il fut déployé au Portugal pour combattre durant la guerre d'indépendance espagnole et il s'illustra à Roliça, à Vimeiro et à La Corogne. En 1809, il combattit en Hollande mais contracta le paludisme et les séquelles l'affectèrent toute sa vie. De retour en Espagne, il combattit à Barrosa, à Vitoria ainsi qu'à Saint-Sébastien où il commanda l'avant-garde qui prit d'assaut la forteresse. Bien que blessé à deux reprises, il mena à nouveau ses hommes lors de la bataille de la Bidassoa où il fut à nouveau touché. Renvoyé en Angleterre avec le grade de capitaine, il fut déployé en Nouvelle-Écosse avec le de fusiliers mais il semble être resté à l'écart de la guerre anglo-américaine. Affecté au de fusiliers en 1818, il participa à la répression de la de Démérara en 1823. Nommé commandant du d'infanterie en 1835, il fut déployé en Chine lors de la première guerre de l'opium en 1842. Campbell fut promu colonel la même année et fut fait compagnon l'ordre du Bain.