El ejército mexicano era superior en número, pues alcanzaba los 19 000 hombres (16 000 según fuentes estadounidenses); pero los estadounidenses poseían superioridad en artillería, en cantidad y calidad de piezas, contando con 26 de diversos calibres, de 6, 9, 12, 18 y 24 libras, perfectamente servidas por artilleros ejercitados en el fuego y oficiales inteligentes y prácticos.