The town was named for the Appomattox River. The river was named after the Appamatuck Virginian Indian tribe, one of the Algonquian-speaking Powhatan Confederacy, historically based in the coastal area and encountered by the English before the tribes of the Piedmont. The Appamatuck historically lived somewhat to the east of the present town, around the area of present-day Petersburg. At the time of European encounter, the area of Appomattox County above the fall line was part of the territory of the Manahoac tribe, who spoke Siouan. The town is located three miles west of the restored historic village of Appomattox Court House (a.k.a. Clover Hill), the site of Confederate General Robert E. Lee's surrender to Union General Ulysses S. Grant on April 9, 1865, essentially ending the American Civil War. The area is preserved as Appomattox Court House National Historical Park and is administered by the National Park Service.
At the time of the Civil War, the present community of Appomattox was the site of a railroad depot on the line between Petersburg and Lynchburg. The town was first named "Nebraska" in 1855. In 1895 it was renamed "West Appomattox". The first postmaster of "Nebraska, Virginia", was Samuel D. McDearmon.
Near the end of the Civil War, Robert E. Lee made a last attempt to reach the depot, hoping to transport the Army of Northern Virginia south by railroad to meet Joseph E. Johnston's larger Army of Tennessee, then located in Greensboro, North Carolina. The arrival of Federal troops and their blocking Lee's army from the depot led to Lee's surrender on April 9. Johnston later surrendered 98,270 Confederate troops (the largest surrender of the war), marking the end of the conflict on April 26, 1865. Small bands of soldiers continued fighting until June 1865.
The inconvenience of the railroad's location to the original Appomattox Court House in the village of Clover Hill led to the decline of the courthouse community. After fire destroyed the courthouse building in 1892, the county relocated the court to the depot area, which formally became the county seat in 1894.
In 1990 there were 11,971 residents reported for Appomattox County; the Town of Appomattox had 1703 residents.
In addition to Appomattox Court House National Historical Park, the Appomattox River Bridge, Appomattox Historic District, Holliday Lake 4-H Educational Center, and Holliday Lake State Park are listed on the National Register of Historic Places.