The city's boundaries stretch northeastward to the outskirts of Loretto and southward to the Tennessee-Alabama state line.
U.S. Route 43 traverses St. Joseph, connecting the city to Lawrenceburg to the northeast and the Muscle Shoals area to the south.
Tennessee State Route 227 connects St. Joseph with Iron City in the Shoal Creek Valley to the west.
According to the United States Census Bureau, the city has a total area of 3.6 square miles (9.3 km2), all land.
As of the 2020 United States census, there were 790 people, 349 households, and 225 families residing in the city.