Shirley is a town in Brown Township, Hancock County and Greensboro Township, Henry County, Indiana, United States. The population was 819 at the 2020 census. Shirley had its start in the year 1890 when the Cincinnati, Wabash and Michigan Railway was extended to that point. It was named for Joseph A. Shirley, a railroad official.