Da
hans amerikanske hær var opbygget til omkring 10.000 kampduelige,
forlod general Winfield
Scott Puebla den 7. august mod Mexico City, 105 km mod vest. Han trængte
ind i Mexico-dalen fire dage senere. Her havde general Antonio
de Santa Anna, nu præsident i Mexico, koncentreret omkring 20.000
tropper, primært ved Contreras og Churubusco. Disse punkter bevogtede
indfaldsvejene til den mexicanske hovedstad fra syd. Den 19. august angreb
en amerikansk afdeling på 3.300 mand under general Gideon
Pillow Contreras, som blev holdt af general Gabriel
Valencia. Angriberne blev slået tilbage, men på andendagen
blev de 5.000 mexicanske forsvarere slået på flugt med 700
dræbte og 800 tilfangetagne. Amerikanerne, som primært blev
anført af general Persifor
Smith, mistede 60 dræbte og sårede.
Scott trængte frem mod hovedstaden og indledte
et angreb mod Santa Annas nye position ved Churubusco senere samme dag.
Her havde mexicanerne omdannet en kirke og kloster til en stærk
fæstning. Scotts tropper erobrede den improviserede position først
efter en hård kamp som kostede 133 dræbte og over 900 sårede.
Disse tab beløb sig, sammen med dem ved Contreras og i alt 50 savnede
under dobbeltslaget, til omkring 7 procent af hele den amerikanske hær.
Men det dobbelte nederlag havde været endnu mere kostbart for Santa
Anna. I alt havde han mistet mere end en tredjedel af sin hær. Da
amerikanerne nu kun var otte km fra Mexico City, trak Santa Anna sig tilbage
ind i hovedstaden og anmodede om en våbenhvile for at overveje fredsforslag.
Kampene blev indstillet den 24. august. Da forhandlingerne brød
sammen den 7. september, genoptog Scott offensiven.