Le , pour attirer l'armée de Pope, Jackson ordonna une attaque sur une colonne fédérale qui passait devant sa ligne, déclenchant ainsi la Seconde bataille de Bull Run, un affrontement décisif de la Campagne de Virginie septentrionale. Les combats durèrent plusieurs heures sans qu'aucun des adversaires ne prenne le dessus. Pope se convainquit qu'il avait acculé Jackson et décida de concentrer le gros de son armée contre lui. Le , il lança une série d'assauts contre Jackson, retranché derrière le talus du chemin de fer. Ces attaques furent repoussées, au prix de lourdes pertes dans les deux camps. À midi, Longstreet se présenta sur le champ de bataille et prit place sur le flanc droit de Jackson. Le , Pope renouvela ses attaques, sans savoir que Longstreet était arrivé. Après que l'artillerie confédérée eut décimé une charge de l'Union, la ligne de Longstreet, forte de hommes, contre-attaqua avec ce qui devait rester comme le plus massif des assauts simultanés de toute la guerre. L'aile gauche de l'Union fut écrasée et l'armée reflua vers Bull Run. Seule l'efficacité de l'arrière-garde prévint la répétition du désastre du premier Bull Run. La retraite de Pope vers Centreville n'en fut pas moins précipitée. Le lendemain, Lee ordonna à son armée de se lancer à sa poursuite.