Harrison is a town in Cumberland County, Maine, United States. The population was 2,730 at the 2010 census. A historic resort area, Harrison straddles Long Lake and Crystal Lake. It is part of the Portland–South Portland–Biddeford, Maine metropolitan statistical area.