
No final de setembro de 1847, Santa Anna fez uma última tentativa de derrotar o Exército dos EUA, isolando-o da costa. O General Joaquín Rea iniciou o Cerco de Puebla, logo acompanhado por Santa Anna. Scott havia deixado cerca de 2.400 soldados em Puebla, dos quais cerca de 400 estavam aptos. Após a queda da Cidade do México, Santa Anna esperava reunir a população civil de Puebla contra os soldados norte-americanos sitiados e sujeitos a ataques de guerrilha. Antes que o exército mexicano pudesse exterminar os americanos em Puebla, mais tropas desembarcaram em Veracruz sob o comando do Brigadeiro General Joseph Lane. Em Puebla, saquearam a cidade. Santa Anna não foi capaz de abastecer suas tropas, que efetivamente se dissolveram como força de combate em busca de alimentos. Puebla foi substituído por Lane em 12 de outubro, após a derrota de Santa Anna na Batalha de Huamantla em 9 de outubro. A batalha foi a última de Santa Anna. Após a derrota, o novo governo mexicano liderado por Manuel de la Peña y Peña pediu a Santa Anna que entregasse o comando do exército ao general José Joaquín de Herrera.