Following the outbreak of the Civil War, Hatch was ordered to the East and assigned to the cavalry of George B. McClellan. He was made a brigadier general of volunteers on September 28, 1861. In December, he was assigned command of a brigade of cavalry stationed at Annapolis, Maryland, serving under General Rufus King. Hatch's brigade made a series of daring raids on enemy positions near the Rapidan and Rappahannock rivers. These raids gained his brigade the Nickname Iron Brigade, which followed that brigade up until January 1863, long after Hatch had moved on. In March 1862, Hatch assumed command of the cavalry of the V Corps under Major General Nathaniel P. Banks. He served in the Valley Campaign and fought at the First Battle of Winchester. In August of that year, after incurring the wrath of army commander John Pope for two failed cavalry raids, he was reassigned to the infantry. He commanded a brigade in the I Corps, assuming division command after Brig. Gen Rufus King fell ill with epilepsy the evening before Second Bull Run. Hatch led the division there and at the Battle of South Mountain, where he got shot in the leg. He was brevetted as a major general of volunteers and subsequently received the Medal of Honor for his gallantry under severe enemy fire. Hatch was disabled until February 1863, when he returned to light administrative duties, serving as a judge on courts-martial and commanding the draft rendezvous at Philadelphia in July. He then commanded the cavalry depot at St. Louis during the late summer and early autumn. On October 27, 1863, he was promoted to the Regular Army rank of major of the 4th U.S. Cavalry. In 1864, he was assigned to the Department of the South, where he had charge of the coast division. He was in charge of operations on John's Island, South Carolina, in July and led the Federal forces at the Battle of Honey Hill in November. He subsequently operated in cooperation with Major General William T. Sherman in the Georgia-Carolinas Campaign and took part in the attack on Charleston. Following the city's surrender, Hatch assumed military command of it from February to August 1865. In the omnibus promotions following the war, he was brevetted from March 1865 both as a major general of volunteers dating and as a colonel in the Regular Army.
Postbellum career
Hatch stayed in the regular Army following the war, reverting to his regular rank of major. For the next twenty-six years, he again served on the frontier. He was promoted to lieutenant colonel in 1873. Eight years later, he became colonel of the 2nd U.S. Cavalry. In 1881, while still a lieutenant colonel, Hatch was reassigned from Fort Elliott at Mobeetie in Wheeler County, much to the dismay of area residents. On July 4 of that year, the Wheeler County Commissioners Court authorized a resolution honoring Hatch for his service at Fort Elliott: "He has proven himself at all times agreeable to the citizens of this section and willing to aid them as a community or as individuals whenever such aid has been required, and to the fullest extent of his power." Hatch was an officer too at Fort Concho in San Angelo, Texas, Indian Territory, Montana Territory, and finally in Washington Territory. He retired on January 9, 1886, and moved to New York City. He received the Medal of Honor in 1893 in recognition for his service at South Mountain. Hatch was President of the Aztec Club of 1847 of New York and a member of the Oswego County Historical Society. John P. Hatch died in New York City in the spring of 1901. He was buried with full military honors in Arlington National Cemetery. He was survived by his wife, Adelaide Burckle Hatch and their children, Miss Harriet Hatch and Mark Burckle Hatch.