According to the United States Census Bureau, the township has a total area of 5.1 square miles (13 km2), all land.
It is drained by the Schuylkill River via its tributaries of Sproegels Run and Manatawny Creek.
Its villages include Cedar Grove, Halfway House, and Little Oley (also in Berks County).
Pottstown Area Rapid Transit (PART) provides bus service to Upper Pottsgrove Township, with the Purple, Yellow, Green, and Orange lines providing service to Pottstown.
[4] As of the 2010 census, the township was 87.6% White, 5.8% Black or African American, 0.2% Native American, 2.4% Asian, 0.1% Native Hawaiian and Other Pacific Islander, 0.5% were Some Other Race, and 2.0% were two or more races.