Bay Harbor Islands is a town in Miami-Dade County, Florida, United States. The population was 5,146 at the 2000 census. It is separated from the mainland by Biscayne Bay, with which it is connected via the Broad Causeway. On the mainland side, BHI is bordered by the city of North Miami, while to the east it borders the villages of Bal Harbour and Surfside. To the south lies the exclusive Indian Creek island.