Первое упоминание о Каргополе в письменных источниках относится к 1380 году. В Никоновской летописи есть упоминание о том, что каргопольский князь Глеб привёл свою дружину под знамена великого московского князя Дмитрия Донского и участвовал в Куликовской битве. Сам город Каргополь (в старинных актах Карго поле) упоминается в 1447 году, когда здесь нашёл убежище Дмитрий Юрьевич Шемяка, спасаясь от преследований великого князя Василия Тёмного. Нет сомнения, что Каргополь основан гораздо ранее конца XIV века. Берега реки Онеги, одного из путей в Поморье, были заняты новгородскими колонистами уже в XII веке, а в середине XIV века появились монастыри. По-видимому, первоначально каргопольское поселение зависело от Белозерского княжества, а в дальнейшем перешло под власть Новгородской республики.
В XVI веке Каргополь был значительным торговым городом. Возведен новый острог, застроен посад. В 1506 году великий князь Иван III передал Каргополь своему сыну Василию по завещанию. В 1539 году город получил губную грамоту, представившую ему широкие права на местное самоуправление. Через Каргополь шла торговля с Поморьем солью и рыбой. Царские грамоты давали городу привилегии в торговле солью, тогда как жители Вологды и Белоозера не имели права ездить к морю и должны были покупать соль в Каргополе. Помимо соли местные купцы сплавляли лес, перекупали пушнину, поставляли железо. Окрестности города были богаты залежами железной руды.
В 1765 году в Каргополе случился очередной пожар, оставшийся в истории города как «великий». Огонь, по воспоминаниям очевидцев, был столь силен, что «бревна метало за реку». Городская застройка, по большей части деревянная, выгорела полностью, сильно пострадали и каменные здания.
В 19-м веке Каргополь уже маленький глухой городок с населением 2680 человек по переписи 1897 года. И лишь великолепные белокаменные храмы, возвышающиеся над деревянными домами, напоминают сейчас о его былом величии.