Foster is a town in Garvin County, Oklahoma, United States. It was incorporated in 2002 and had a population of 161 at the 2010 census. Foster is served by State Highway 29A, a spur of State Highway 29. A post office was first established at Foster on August 12, 1891.