Shirley is a town in Brown Township, Hancock County and Greensboro Township, Henry County, Indiana, United States. The population was 830 at the 2010 census.