St. Mary (Ste. Marie, with French spelling) is a city in Ste. Genevieve County, Missouri, United States. The population was 309 at the 2020 census.