Geneva-on-the-Lake is a village in Geneva Township, Ashtabula County, Ohio, United States, along the southern shore of Lake Erie. A small resort town, the population was 916 at the 2020 census. It is part of the Ashtabula micropolitan area, 46 miles (74 km) northeast of Cleveland.