En 1803, Stewart est nommé aide de camp du roi George III, et quatre ans plus tard devient sous-secrétaire d'État à la Guerre et des Colonies. Au cours de la bataille de La Corogne de 1809, il commande une brigade de cavalerie, et joue un rôle de premier plan dans le choc de cavalerie de Benavente. En avril 1809, il est fait adjudant général de Sir Arthur Wellesley (le futur duc de Wellington) dans les forces britanniques combattant dans la Guerre d'indépendance espagnole, poste dans lequel il se distingue, en particulier lors des batailles de Busaco et de Talavera. Il reçoit les remerciements du Parlement en 1810, et le 20 novembre 1813 est fait colonel du de dragons légers, puis devient chevalier de l'Ordre du Bain cette même année. Jusqu'à la fin de la guerre, il est envoyé extraordinaire et ministre plénipotentiaire à Berlin, et également commissaire militaire avec les armées alliées ; il est blessé à bataille de Kulm en 1813.