En 1846, Shields partiu á guerra con dúas brigadas baixo o seu mando. En febreiro de 1847, cando Tampico foi abandonado, os seus homes asumiron o control da cidade. Comandou a 3a Brigada, División de Voluntarios, nas batallas de
Vera Cruz e Cerro Gordo, onde foi ferido gravemente por un tiro de uva, e pasou nove semanas recuperándose. Volveu a loitar nun só día, nas dúas batallas de Contreras e Churubusco. A súa orde ese día foi criticada por algúns como torpe, e elogiada como habilidosa por outros. Necesitaba reforzos para superar a forte resistencia inimiga, pero a súa brigada tomou máis de 800 prisioneiros.