Город возник как слобода при Кирилло-Белозерском монастыре, основанном в 1397 году и названном по имени основателя, монаха Кирилла Белозерского (1337−1427), и расположению в Белозерском крае. В XV—XVII вв. Кирилло-Белозерский монастырь был важным религиозным и культурным центром Русского Севера, процветавшим благодаря значительным денежным вкладам московских князей и бояр. В XVI—XVII вв. монастырь переживал период наивысшего расцвета, играл важную роль на торговом пути к Белому морю. В монастыре была одна из крупнейших библиотек России, в 1601 г. насчитывавшая 1065 рукописных и старопечатных книг, действовали оружейная и иконописная мастерские.
В годы польско-шведской интервенции в декабре город 1612 г. выдержал штурм многочисленного польского отряда под командованием полковника Песоцкого. В 1776 г. монастырская слобода преобразована в уездный город Кириллов Новгородского наместничества.
В 20 км от Кириллова, в живописной местности на невысоком холме между озёрами Бородавское и Спасское, расположен Ферапонтов Рождественский монастырь. В окрестностях Кириллова и Белозерска имеется около дюжины монастырей, находящихся в разной степени разрушенности.
С недавнего времени туризм в Кириллове стал раскручиваться за счёт бренда «Кириллов — родина Бабы Яги», в основе мифа лежат обнаруженные останки свайных поселений неолита — прообраз избушек на курьих ножках.