Après avoir été officiellement échangé le , Garrard est nommé colonel du 146th New York Infantry dans l'armée du Potomac et prend part aux batailles de Fredericksburg, Chancellorsville, et Gettysburg, où il succède au brigadier général Stephen H. Weed (qui est tué sur Little Round Top) au commandement de la troisième brigade de la division du major général George Sykes. En , il est nommé pour la promotion de brigadier général en date du , commémorant la fin de la poursuite de l'armée de Virginie du Nord de Lee.