Generaal Zachary Taylor was inmiddels de Rio Grande overgestoken. Hij versloeg in september nipt een Mexicaans leger in de Slag bij Monterrey. Santa Anna, die de macht had gegrepen in Mexico, marcheerde met een leger van 20.000 man noordwaarts tegen Taylor, maar werd in de Slag bij Buena Vista verslagen. De Amerikaanse regering verzocht Mexico zich over te geven, maar Mexico weigerde. Daarop landde Winfield Scott bij Vera Cruz. Hij wist de stad in te nemen en marcheerde verder op naar Mexico-Stad. Rond Mexico-Stad werd zwaar gevochten tijdens veldslagen bij Contreras, Churubusco, Molino del Rey en Chapultepec. Bij deze laatste slag kwamen de "Niños Héroes" om. Voor Mexico werden zij onsterfelijk. Op 15 september 1847 was het laatste Mexicaanse verzet gebroken.