Messo al comando di una brigata, Graham servì nel corso della sfortunata spedizione di Walcheren tra il luglio e il dicembre 1809, rientrando in patria dopo essere stato colpito da un violento attacco di malaria. Ristabilitosi, nel marzo 1810 ottenne una promozione al grado di tenente generale e il comando delle forze britanniche inviate nel sud della Spagna per sostenere la guarnigione spagnola assediata dai francesi a Cadice; il 5 marzo 1811 Graham sconfisse le forze francesi del maresciallo Claude-Victor Perrin nella battaglia di Barrosa. Questo successo lo mise in luce presso il comandante in capo delle forze britanniche in Spagna, il Duca di Wellington, che nel giugno 1811 lo chiamò in servizio presso l'armata principale in Portogallo dandogli il comando della 1ª Divisione; Graham fece parte del ristretto gruppo di ufficiali superiori espressamente richiesti da Wellington per ruoli di alto comando nella sua armata.