El 13 de septiembre de 1847 ocurrió la última batalla que buscó frenar el avance del ejército estadounidense a la capital de México. El Castillo de Chapultepec fue defendido por poco menos de tres mil soldados, entre ellos los cadetes del Colegio Militar: los Niños Héroes.
La historia nacional recuerda seis nombres: Vicente Suárez, Fernando Montes de Oca, Francisco Márquez, Juan de la Barrera, Agustín Melgar y Juan Escutia, el cadete que, cuenta la leyenda, se envolvió en la bandera mexicana para evitar que cayera en manos del enemigo.
La guerra con los Estados Unidos había iniciado 16 meses antes, en mayo de 1846, y el avance del ejército estadounidense había tenido poca resistencia desde Texas hasta la capital de México.
Con más de 7 mil soldados, la última refriega que realentó su paso fue la resistencia de los batallones situados en Churubusco, el 20 de agosto de 1947. Esa batalla, desesperada del lado mexicano, es recordada por la deserción completa del Batallón de San Patricio, compuesto por migrantes irlandeses, de las filas del ejército estadounidense en apoyo del mexicano.
Superado ese obstáculo, las tropas invasoras sólo tenían un reducto militar antes de tomar la capital: el Castillo de Chapultepec, que era defendido por el general Nicolás Bravo y Mariano Escobedo, a cargo de un regimiento de poco menos de tres mil soldados y los cadetes del Colegio Militar, niños de entre 13 y 18 años sin experiencia en combate.
El general Windfield Scott, a cargo de las tropas invasoras, inició ataque desde una noche antes con un bombardeo de artillería que duró hasta la mañana siguiente. El general Bravo solicitó refuerzos al presidente Santa Anna, pero fueron negados.
Las fuerzas estadounidenses frenaron el bombardeo alrededor de las 9 de la mañana y comenzaron el ascenso al castillo por su lado oeste, lo que se tradujo en una sangrienta batalla cuerpo a cuerpo que duró prácticamente todo el día.
A la tarde, los estadounidenses llegaron al edificio, ya sólo protegido por los cadetes, que pelearon hasta la muerte.
Contrario a lo que podría creerse, no todos los Niños Héroes murieron en el Castillo o el 13 de septiembre: Juan de la Barrera lidereaba un grupo de 32 soldados zapadores que pelearon (y murieron) en la defensa de la Calzada de Tacubaya, a los pies del cerro de Chapultepec, y Agustín Melgar fue rescatado del castillo, pero murió al día siguiente en un Hospital de Sangre a causa de las heridas que sufrió en la defensa.
Desde que se instauró el mito de los Niños Héroes ha sido cuestionado por historiadores y académicos: desde nombres hasta la relatoría de los hechos. Sin embargo, esta gesta heroica ha servido para enseñar el amor a la Patria.