Nel 1846, Shields partì per la guerra con due brigate sotto il suo comando. Nel febbraio del 1847, quando Tampico fu abbandonata, i suoi uomini presero il controllo della città. Ha comandato la 3a Brigata, Divisione Volontaria, nelle battaglie di Vera Cruz.
e Cerro Gordo, dove fu gravemente ferito da un colpo d'uva, e trascorse nove settimane a riprendersi. Tornò a combattere in un solo giorno, in entrambe le battaglie di Contreras e Churubusco. Il suo comando quel giorno fu criticato da alcuni come goffaggine, e lodato come abile da altri. Aveva bisogno di rinforzi per superare la forte resistenza nemica, ma la sua brigata prese oltre 800 prigionieri.