1812, guerre d'Espagne. L'armée anglo-portugaise avance vers Badajoz, une redoutable ville fortifiée défendue par les Français et qui barre la route de Madrid. Afin de reprendre le commandement de sa compagnie, Sharpe s'apprête à donner l'assaut à la forteresse, au risque d'être tué en menant une colonne d'enfants perdus dans une brèche de la muraille.