Après avoir reçu un diplôme en architecture, il se tourne vers le théâtre, puis vers le cinéma en 1935. Au milieu des années 40, il était devenu la grande vedette masculine de l'écran en Grande-Bretagne, avant de s'amener à Hollywood. Parmi les rôles remarquables qu'il a tenus, il a été Gustave Flaubert dans Madame Bovary, le maréchal Rommel dans The Desert Fox et The Desert Rats, Brutus dans Jules César et le capitaine Némo dans 20,000 lieues sous les mers.