Commissioned as an ensign of foot in 1793, and promoted captain in 1794, he served in the campaign of 1808–9 in the Peninsular War, as Major in the 32nd Regiment, and was present at the battles of Roliça, Vimiero, and Corunna. Johnson then served through the Walcheren expedition in 1809. In 1810 he became lieutenant-colonel in the 3rd Ceylon Regiment.