1811 erhielt er das Kommando über die Leichte Brigade der King’s German Legion. Er hielt diesen Rang während des Krieges auf der Pyrenäenhalbinsel beginnend mit dem Gefecht in Albuera bis zum Kampf um Toulouse. Am 1. Januar 1812 wurde er zum Colonel befördert. Zum Major-General wurde Halkett am 4. Juni 1814 ernannt.