He was the grandson of William Bratton, of Revolutionary War fame. John's father moved to Fairfield County probably in the early 1800s, where he became a prominent and successful doctor in Winnsboro. John Bratton attended Mount Zion Institute, then graduated from South Carolina College in 1850. He enrolled at the Medical College of South Carolina, graduating in 1854. Returning to Fairfield District, he combined a career in medicine with his interest in agriculture.
In 1859 Bratton married Elizabeth Porcher DuBose, a member of another prominent Fairfield family. The marriage produced nine children. Following the withdrawal of South Carolina from the Union in December 1860, Bratton joined a local volunteer company known as the Fairfield Fencibles and was elected as first lieutenant. In April 1861 the company became part of the Sixth Regiment, South Carolina Volunteers.
Following this reorganization, Bratton resigned his commission and reenlisted as a private in June 1861. He advanced through the ranks with remarkable speed, becoming colonel and commanding officer of the Sixth Regiment in April 1862. Bratton was wounded at the Battle of Seven Pines on May 31, 1862, and captured. Exchanged in 1863, he rejoined his old regiment. Following the death of General Micah Jenkins of South Carolina at the Battle of the Wilderness in May 1864, Bratton was promoted to brigadier general, commanding Bratton's Brigade, Field's Division, First Corps, Army of Northern Virginia.
Bratton served in this position until the army's surrender at Appomattox on April 9, 1865. A conservative Democrat, he served as a delegate to the 1865 South Carolina constitutional convention and represented Fairfield County in the S.
Senate from 1865 to 1866. A loyal political lieutenant of Wade Hampton, in 1880 Bratton was elected chairman of the state Democratic executive committee and chosen state comptroller general by the General Assembly. He ran for governor in 1882 but failed to win his party's nomination. In the fall of 1884 Bratton was elected to Congress to fill the unexpired term of John H. Evins, who had died in office. Taking his seat in the U. House of Representatives on December 8, 1884, Bratton served until March 3, 1885, and did not seek reelection.Still revered by conservative Democrats, Bratton again ran for governor in 1890 but lost to the political insurgent Benjamin Tillman. Bratton then retired from political life.
He died in Winnsboro on January 12, 1898, and was buried in the cemetery of the Episcopal Church.