McDowell dimitió y fue sustituido por el mayor general George B. McClellan, quien tomó el control del ejército unionista en el río Potomac. Tras muchas dudas y vacilaciones (que llevaron a Lincoln a creer que era un traidor), McClellan atacó Virginia en la primavera de 1862 a través de la península entre los ríos York y James, al sureste de Richmond. Aunque el ejército de McClellan alcanzó las puertas de la capital confederada en la Campaña de la Península, Johnston lo detuvo en la batalla de Seven Pines, tras lo que el general Robert E. Lee venció a McClellan en las batallas de los Siete Días y lo forzó a retirarse. La Campaña del Norte de Virginia finalizó con otra victoria del Sur. McClellan no cumplió las órdenes del general en jefe Henry W. Halleck de enviar refuerzos al ejército de John Pope en Virginia, lo que hizo más fácil a Lee derrotarlo en la segunda batalla de Bull Run, pese a tener una gran desventaja numérica.