Основали город фракийцы, причём фракийцы очень ранние – археологически данные говорят о XIII – XI веках до н. э. Потом, если верить Страбону, на побережье пришли греки и устроили на этом месте локальное процветание. В те времена город назывался Месемврия. Примерно в IV веке до н. э. город разрушило землетрясение, сократившее и население, и площадь города примерно вдвое. Из-за землетрясения появились многочисленные археологические находки, которые исследуют и поныне.
Дотянулись до тогдашней Месемврии и римляне. От них остались только термы и память об Ирине Македонской – первой христианской святой, принявшей смерть, чтобы не выходить замуж. В IX веке царь Крум Грозный отнял город у ослабевшей Византии, тогда и появилось нынешнее его название. В болгарском государстве город был одним из государствообразующих, он разросся на материк и, согласно источникам, в нём было больше 40 церквей.
Доходили до города, который они называли «Мисиври», и турки. При них город довольно быстро захирел из-за упадка морского торгового трафика. Несебыр вновь ужался до полуостровной части, что помогло русским войскам в войне 1828 – 1829 годов. Тогда сухопутные войска генерала Логгина Рота заняли перешеек, а эскадра адмирала Алексея Грейга блокировала город с моря. Турки пытались выторговать почётную сдачу, но на дворе уже был новый век, и им пришлось сдаваться на милость победителей. В честь взятия «Месемврии» были названы русские корвет и фрегат.
Развиваться как курорт и туристический центр Несебр начал уже после Второй мировой войны – соседнего Слынчева Бряга не хватало, чтобы обслужить поток туристов. Тогда была восстановлена часть крепостной стены, открыт музей и было начато благоустройство территории.