The city of Afton, population 2816, is located just south of Interstate 94 in Washington County on the Minnesota side of the St. Croix River. Afton is bounded on the west by Woodbury, on the east by the St. Croix. Neighboring towns bordering on Afton on the northeast are Lakeland, Lake St. Croix Beach, and St. Mary's Point. The northwest edge of Afton State Park is the city of Afton's southeast corner.
Afton is about 5 miles south of Hudson, Wisconsin, and 16 miles east-southeast of St. Paul.