V roce 1846 Shields odjel do války se dvěma brigádami pod svým velením. V únoru 1847, když bylo Tampico opuštěno, převzali jeho muži kontrolu nad městem. Velel 3. brigádě, dobrovolnické divizi, v bitvách u Vera Cruz.
a Cerro Gordo, kde byl těžce zraněn střelnou ranou a strávil devět týdnů zotavením. Vrátil se bojovat v jednom dni, v bitvách u Contreras a Churubusco. Někteří kritizovali jeho velení jako nemotorné, jiní ho chválili jako zručné. Potřeboval posily, aby překonal silný odpor nepřítele, ale jeho brigáda si vzala přes 800 zajatců.