Garland joined Winfield Scott's army and, for the second time in his career, he was serving under William Worth, who was now his division commander. Garland fought at the battles of Veracruz, Battle of Cerro Gordo, Contreras and Churubusco. For his distinguished services in the last two battles, he was appointed brevet brigadier general of regulars. He led his brigade at the Battle of Molino del Rey and in the attack on Chapultepec. He had survived the war thus far without any serious injury, but when he marched his brigade into fallen Mexico City, he was hit in the chest by a Mexican sharpshooter and severely wounded.