Antonio López de Santa Anna was in command of the army at Mexico City. He understood that Chapultepec Castle was an important position for the defense of the city. The castle sat atop a 200-foot (60 m) tall hill which in recent years was being used as the Mexican Military Academy. General Nicolás Bravo however had less than 1,000 men (832 Total including 250 10th Infantry, 115 Queretaro Battalion, 277 Mina Battalion, 211 Union Battalion, 27 Toluca Battalion and 42 la Patria Battalion with 7 guns) to hold the hill including 200 cadets, some as young as 13 years old. A gradual slope from the castle down to the Molino del Rey made an inviting attack point.
According to the military records at the General National Archives in Mexico City, Chapultepec Castle was only defended by 400 men, 300 from de Batallón de San Blas under command of Lieutenant Colonel Felipe Xicoténcatl, and the castle's garrison of 100 men, including the cadets.
Scott organized two storming parties numbering 250 hand picked men. The first party under Captain Samuel Mackenzie would lead Gideon Pillow's division from the Molino east up the hill. The second storming party under Captain Silas Casey would lead John A. Quitman's division against the southeast of the castle.
The Americans began an artillery barrage against Chapultepec at dawn on September 12. It was halted at dark and resumed at first light on September 13. At 08:00, the bombardment was halted and Winfield Scott ordered the charge. Following Captain Mackenzie's storming party were three assault columns from George Cadwalader's brigade of Pillow's division. On the left were the 11th and 14th regiments under Colonel William Trousdale, in the center were 4 companies of the Voltigeur regiment under Colonel Timothy Patrick Andrews, and on the right were the remaining 4 Voltigeur companies under Lieutenant Colonel Joseph E. Johnston. Pillow was quickly hit in the foot but ordered the attack forward. Andrews's column followed Mackenzie out of the Molino and cleared a cypress grove to their front of Mexican troops as Trousdale and Johnston moved up on the flanks. The attack stalled when Mackenzie's men had to wait for storming ladders to arrive, and there was a lull in the battle.
To the southwest, 40 Marines led Captain Casey's storming party followed by James Shields' brigade of volunteers north towards Chapultepec. Again the storming party stalled while waiting for ladders, and the rest of Shields' men halted in the face of Mexican artillery. The scaling ladders arrived, and the first wave ascended the walls. In fact so many ladders arrived that 50 men could climb side by side. George Pickett (later famous for "Pickett's Charge" and the Battle of Five Forks during the American Civil War) was the first American to top the wall of the fort, and the Voltigeurs soon planted their flag on the parapet. Colonel Trousdale's column supported by Lieutenant Thomas J. Jackson's artillery faced superior numbers of Mexicans in a spirited defense. Newman S. Clarke's brigade brought new momentum to the fight on Pillow's front. General Shields was severely wounded when his men poured over the walls, but his troops managed to raise the U.S. Flag over the castle. Caught between two fronts, General Bravo ordered a retreat back to the city. Before he could withdraw, Bravo was taken prisoner by Shields' New York volunteers. The Mexicans retreated at night down the causeways leading into the city. Several Mexican cadets wrapped themselves around Mexican flags and jumped from the walls disregarding height to prevent the seizure of the Mexican flag from the attackers. Santa Anna watched disaster befall Chapultepec while an aide exclaimed "let the Mexican flag never be touched by a foreign enemy".
A moving mural decorates the ceiling of the palace, showing Juan Escutia wrapped in the flag, apparently falling from above A monument stands in Chapultepec Park commemorating their courage. The cadets are eulogized in Mexican history as the Los Niños Héroes, the "Child Heroes" or Heroic Cadets.
Trousdale, followed by John Garland's, Newman Clarks' and George Cadwalader's brigades, began advancing up the causeway. However, General Quitman quickly gathered the troops in Chapultepec and Persifor F. Smith's brigade, turned east and immediately headed down the Belén Causeway. Intended only to be a feint, Quitman's attack soon became the center of the attack as he chased Chapultepec's retreating defenders back into the city. His troops were met by strong resistance in front of the gate, which was supported by a battery of artillery. Using the stone arches of the aqueduct running down the center of the causeway, Quitman's men crept forward. General Andrés Terrés' troops (3 Guns and 200 men : 2d Mexico Activos) began to desert and flee back to the citadel. Led by the Mounted Rifles (fighting on foot), Quitman breached the Belén Gate at 1:20 p.m. General Scott later commented "brave Rifles, you have gone through fire and come out steel".
To the north, Robert E. Lee led Worth's attackers down the La Verónica Causeway. It was 4 p.m. by the time Worth reached the junction of the La Verónica and San Cosme causeways, where he beat back a counter attack of 1,500 cavalry before turning east down the San Cosme causeway. Progress was slow, and casualties were mounting. Finding the buildings alongside the roadway filled with enemy troops, Colonels Garland and Clark were sent with the 1st and 2nd brigades to approach the defenses under cover by burrowing through the buildings on both sides with crowbars and pickaxes. Lieutenant Ulysses S. Grant discovered the bell tower of San Cosme Church south of the causeway, where he mounted The Howitzer and began firing shots down onto the defenders from his lofty position. On the north side of the road, naval officer Raphael Semmes repeated Grant's successful maneuver. Lieutenant George Terrett then led a group of Marines behind the Mexican defenders and, climbing to the roof, unleashed a deadly volley on the artillery gunners. By 6 p.m., Worth had broken through the gate, and the defenders scattered. Many retreated to the ciudadela, sweeping Santa Anna along with them. As night fell, Worth lobbed five mortars into the city which fell near the National Palace.
Santa Anna lost General Bravo as a POW, and General Juan N. Pérez was killed. In a fit of rage Santa Anna slapped General Terrés and relieved him of command for losing the Belén Gate. In his memoirs Santa Anna branded Terrés as a traitor and made him the scapegoat for the defeat at Mexico City.