Античность (VI в. до н.э. – VII в.)
В районе современного Ахелоя фракийцы селились ещё с VI в. до н. э. Позднее это место было небольшой пристанью в орбите греческих колоний Аполлония (Созополь) и Месембрия (Несебыр). Название «Ахелой» происходит от греческого «Ахелоос» — речного божества, означающего «река».
Битва при Ахелое (917 г.)
20 августа 917 года на Анхиалском поле — между крепостями Анхиало (нынешнее Поморие) и Месембрия (Несебр), близ устья реки Ахелой, — состоялась одна из крупнейших битв средневековой Европы. Царь Симеон I Великий разбил византийскую армию магистра Льва Фоки охватной атакой с холма Биберна (близ нынешнего Каблешково). Византийские потери оцениваются в десятки тысяч убитых; по словам Льва Диакона, груды костей у Анхиало были видны и через 75 лет после битвы. Победа закрепила болгарское преобладание на Балканах и ускорила признание императорского титула болгарского правителя.
Средневековье и Османская империя (X–XIX в.)
После великой битвы место сохраняет стратегическое значение — граница между Болгарским царством и Византией до XIV в. При османах Ахелой — небольшое рыбацкое селение с греко-болгарским населением, около 30 домов. В XIX в. сюда переселяются беженцы из Восточной Фракии и Малой Азии.
Современный Ахелой (1878 — сегодня)
После Освобождения 1878 г. Ахелой остался в составе Восточной Румелии, а после Соединения 6 сентября 1885 г. перешёл к объединённому Княжеству Болгария. В 1967 г. село было объявлено климатическим морским курортом местного значения. 10 января 2009 г. Решением № 4 Совета министров (опубл. в «Държавен вестник», № 6 от 23.01.2009 г.) Ахелой был объявлен городом — одним из самых новых населённых пунктов с таким статусом в Бургасской области.