S žádnou cestou k rychlému vyřešení konfliktu na severu, Polk schválil invazi do centrálního Mexika, aby získal hlavní město a donutil Mexiko k vyjednávacímu stolu, přesměroval většinu vojáků generála Zacharyho Taylora k armádě generála Winfielda Scotta. Santa Anna mobilizoval vojáky a dělostřelectvo a rychle pochodoval na sever. Santa Anniny síly byly početně větší než Taylorovy, ale jeho vojáci byli vyčerpaní, špatně oblečení, hladoví a vybaveni horšími zbraněmi, když se obě armády setkaly v La Angostura v bitvě u Buena Vista 22.-23. února 1847. Tvrdý boj po dobu dvou dnů přinesl neúspěšný výsledek, když se Santa Anna přes noc stáhl z bitevního pole, když se blížilo úplné vítězství, a vzal válečné trofeje, jako jsou děla a bojové vlajky, jako důkaz svého vítězství. Scottova armáda přistála u Veracruzu.
Santa Anna se rychle posunul na jih, aby se spojil s útočníky a ochránil hlavní město. Pro Mexičany by bylo lepší, kdyby Scottovi bylo zabráněno opustit pobřeží Mexického zálivu, ale nemohli zabránit Scottovu pochodu na Xalapu. Santa Anna postavila obranu na Cerro Gordo. Americké síly ho obklíčily a navzdory velkému odporu poražely Santa Aninu armádu.