Поселение на месте современного Осташкова известно с XIV века. В грамоте литовского князя Ольгерда к константинопольскому патриарху Филофею, датированной 1371 годом, упоминается Кличен — пограничный городок Московского княжества. Он располагался на одноимённом острове на озере Селигер.
В 1393 году Кличен был захвачен и сожжён новгородцами. С этим событием связана местная легенда: после разорения города в живых остался лишь один его житель — рыбак Евстафий, которого называли Осташко. Он переселился на соседний полуостров к югу от острова Кличен. По преданию, именно от его имени впоследствии произошло название нового поселения — Осташков.
В XVIII веке город стал административным центром. В 1772–1775 годах он являлся центром Осташковского уезда Новгородской губернии. В 1775 году город вместе с уездом был передан в состав Тверского наместничества, которое с 1776 года преобразовали в Тверскую губернию.
Во время административной реформы и перепланировки городов в XVIII столетии планировка Осташкова была признана образцовой. Новая регулярная схема городской застройки стала примером для других уездных городов Российской империи — подобно тому, как регулярная планировка Твери, утверждённая в 1763 году, была принята в качестве эталона для губернских центров.
В советский период административная принадлежность города менялась: в 1929–1935 годах Осташков входил в состав Западной области, а с 1935 по 1990 год — Калининской области.