По прибытии в Южную Калифорнию, Стоктон соединился с морским пополнением и выиграл две небольшие битвы, в результате чего получил контроль над Сан-Диего и Лос-Анджелесом. Договор Кауэнга был подписан 13 января 1847 года между Джоном Чарльзом Фримонтом и генералом Андресом Пико и обозначил окончание конфликта на территории Калифорнии.
Поражения при Пало-Альто и русле де ла Пальмы вызвали политический беспорядок в Мексике, который Антонио Лопес де Санта-Анна использовал для возрождения своей политической карьеры и возвращения из самоизгнания на Кубе. Он пообещал американцам, что если его пропустят через блокаду, он договорится о мирном окончании войны и продаст территории Нью-Мехико и Калифорнии Соединённым Штатам. Однако, когда он прибыл в Мехико, он изменил своему слову и предложил свой военный опыт мексиканскому правительству. После того, как он был назначен генералом, он снова изменил, на этот раз собственному правительству, и захватил президентство.
Большие силы, ведомые Тейлором, пересекли Рио-Гранде (Рио-Браво) после некоторых трудностей с получением речного транспорта. Он занял город Матаморос, затем Камарго (где ждал некоторое время, так как солдаты столкнулись с первой из многочисленных болезней) и затем продолжил движение на юг и блокировал город Монтеррей. Битва за Монтеррей была весьма кровопролитной, во время нее обе стороны понесли серьёзные потери. Американская лёгкая артиллерия оказалась неэффективна против каменных укреплений города. Мексиканские войска под командованием генерала Педро де Ампудья и батальон Святого Патрика (ирландцы-католики, покинувшие американскую армию и примкнувшие к мексиканцам) сильно осложнили жизнь американским солдатам. Однако пехотное подразделение и техасские рейнджеры захватили четыре холма к западу от города и с ними тяжёлое орудие. Это придало американцам силы штурмовать город с запада и востока. Оказавшись в городе, американцы захватывали дом за домом: каждый зачищался посредством зажигательных снарядов, которые использовались в качестве примитивных гранат. В конце концов, эти действия поймали людей Ампудьи на центральной площади города, где расчехлённая гаубица заставила Ампудью начать переговоры. Тейлор согласился на то, чтобы мексиканская армия эвакуировалась и спустя 8-недельного перемирия вернулась для сдачи города. Под давлением Вашингтона Тейлор нарушил перемирие и занял город Салтильо к югу от Монтеррея. Санта-Анна возложил ответственность за потерю Монтеррея и Салтилльо на Ампудью, понизил его в должности и отправил командовать небольшим артиллерийским батальоном.
22 февраля 1847 года Санта-Анна лично отправился на север с 20-тысячным войском, чтобы сразиться с Тейлором. Тейлор окопался на горном перевале недалеко от имения Буена-Виста с 4600 солдатами. Санта-Анна страдал от дезертирства по пути на север и прибыл только с 15 тыс. уставших солдат. В ту же ночь от потребовал от американцев сдаться и получил отказ. На следующее утро Санта-Анна атаковал американские позиции с фланга, отправив свою кавалерию и некоторую часть пехоты вверх по крутому склону, из которых состоял перевал, тогда как пехотное подразделение атаковало по центру вдоль дороги, ведущей в Буена-Висту. Произошло яростное сражение, во время которого американцы были почти подавлены, но всё же спасены артиллерийским огнём капитана Брекстона Брэгга и конными миссисипскими стрелками Джефферсона Дэвиса. Потерпев обескураживающее поражение, Санта-Анна отступил следующей ночью, оставив Тейлору контроль над Северной Мексикой. Тейлор позже использовал Битву при Буена-Виста, как центральный пункт своей успешной президентской кампании 1848 года.
Тем временем, вместо усиления армии Тейлора для продолжения наступления, президент Полк отправил вторую армию под командованием Уинфилда Скотта, которого доставили морем в порт Веракруз, чтобы он начал вторжение в главные районы Мексики. Полк не доверял Тейлору, который, как он полагал, проявил некомпетентность в битве при Монтеррее, согласившись на перемирие, и кроме того мог рассматривать его как политического соперника в Белом Доме.
Скотт произвёл первое в истории США крупное десантирование при подготовке к осаде Веракрус. Отряд из 12 тыс. добровольцев и солдат успешно разгрузили припасы, оружие и лошадей недалеко от городских стен. В отряде также находились Роберт Ли и Джордж Мид. Город защищал мексиканский генерал Хуан Моралес с 3400 человек. Мортиры и военно-морские орудия (командор Мэттью Пэрри) использовались для разрушения городских стен и психологического воздействия на защитников. Город отвечал как мог своей собственной артиллерией. В результате длительный огневой вал сломил волю мексиканской стороны к сопротивлению численно превосходящему противнику, и город был сдан после 12-дневной осады. Американцы потеряли 80 человек, тогда как мексиканцы — около 180 человек убитыми и ранеными, половину из которых составляло гражданское население. Во время осады американцы начали умирать от жёлтой лихорадки.