После выпуска Гордон служил в Джефферсоновских Казармах в Миссури, а когда началась мексиканская война, он участвовал в Мексиканской кампании Уинфилда Скотта: участвовал в осаде Веракруса в марте 1847 года, в наступлении на Мехико и в сражении при Серро-Гордо, где он был ранен. За отличие при Серро-Гордо Гордон получил временное звание первого лейтенанта (датировано 18 апреля 1847 года). Несмотря на ранение, Гордон участвовал в сражении при Контрерас (19 августа), в штурме Чапультепека и в захвате Мехико. 21 декабря 1847 года он был тяжело ранен в перестрелке с партизанами у моста Сан-Хуан. В 1848 году его перевели на рекрутскую службу.