Затем Скотт двинулся на запад в сторону Мехико с 8500 здоровых бойцов, в то время как Санта-Анна устанавливал оборонительные позиции в каньоне вокруг главной дороги на полпути к Мехико в районе деревушки Серро-Гордо. Санта-Анна расположился в окопах с 12 тыс. солдат и артиллерией, нацеленной на дорогу, вдоль которой, как ожидалось, должен пройти Скотт. Однако Скотт послал вперёд 2600 драгун, и мексиканская артиллерия преждевременно открыла огонь и раскрыла свои позиции. Вместо того, чтобы двинуться по главной дороге, войско Скотта пошло через дикую местность на север, расставляя свою артиллерию на возвышенностях и потихоньку обходя мексиканцев с фланга. Хотя к тому времени Санта-Анна был осведомлён о позициях американцев, его войско было неготово к последовавшей атаке. Мексиканская армия была разбита. Американцы потеряли 400 человек, а мексиканцы более 1000, и 3000 попало в плен.
В мае Скотт достиг Пуэблы, в то время второго по величине города Мексики. По причине враждебности жителей к Санта-Анне, город сдался без сопротивления 15 мая. Мехико оказался открыт после битвы за Чапултепек и позже был захвачен.
Договор Гуадалупе-Идальго, подписанный 2 февраля 1848 года, положил конец войне и дал США неоспоримый контроль над Техасом, а также над Калифорнией, Невадой, Ютой и частями Колорадо, Аризоны, Нью-Мехико и Вайоминга. Взамен Мексика получила 18 млн. 250 тыс. долл., что эквивалентно 627 млн. 500 тыс. долл. по курсу середины 2000-х гг. Статья X была вычеркнута из договора, когда он ратифицировался Сенатом США. Эта статья гарантировала, что США признают мексиканских и испанских землевладельцев и что мексиканцы, живущие на захваченных землях, получат равные права с американскими гражданами.
Мексика потеряла более 500 тысяч квадратных миль (1,3 млн квадратных километров), то есть почти половину своей территории. Война также вызвала чувство национального единения в Мексике, которое утратилось с момента окончания войны за независимость в 1821 году.
Война также привела к появлению нового класса политиков в Мексике, которым удалось прервать господство Санта-Анны над Мексикой и в конечном счёте провозгласить либеральную республику в 1857 году. Одним из первых деяний республики было принятие нескольких законов, которые способствовали колонизации обширных и малонаселённых северных мексиканских штатов, чтобы таким образом избежать дальнейших территориальных потерь.
Аннексированные территории населяли примерно 1000 мексиканских семей в Калифорнии и 7000 семей в Нью-Мехико. Некоторые вернулись обратно в Мексику, а подавляющее большинство осталось и стало гражданами США.
За месяц до конца войны президент Полк был раскритикован Палатой представителей в поправке к резолюции. Критиковали и генерала Тейлора за "войну необязательную и неконституционно начатую президентом Соединённых Штатов". За этой критикой, в которой важную роль играл конгрессмен Авраам Линкольн, последовала тщательная проверка Конгрессом первопричин войны, включая фактические сомнения в претензиях, высказанных президентом Полком.
На голосовании, следуя курсу партии, все виги поддержали поправку. Атака Линкольна испортила его политическую карьеру в Иллинойсе, где война была популярна, и Линкольн не прошёл перевыборы.
В большинстве штатов победа и приобретение новых земель породила волну патриотизма (страна также получила южную половину Орегона согласно договору 1846 года с Великобританией). Победа, казалось, осуществила веру граждан в «предназначение» их страны. В то же время виг Ральф Валдо Эмерсон отвергал войну "как средство достижения «предназначения» Америки". Он признавал, что "большинство великих свершений в истории осуществлены постыдными средствами". Хотя виги были против войны, они сделали Закари Тейлора своим кандидатом в президенты на выборах 1848 года, превознося его армейскую исполнительность, но в то же время приглушая критику в его адрес по поводу самой войны.