Торжок основан новгородскими купцами на реке Тверце в месте впадения в неё ручья Здоровца.
По другим данным, возник на рубеже IX—X веков. Впервые упоминается в летописи 1139 года, возник и развивался как торговое поселение, сменил несколько названий (Торг, Новый Торг, Торжец, Торжок). Город располагался на пересечении сухопутных и водных путей, что способствовало его экономическому развитию. К XIII веку город был обнесен стеной, защищен земляным валом и рвами и превратился в крепость. Находится на третьем месте (после Новгорода и Старой Руссы) по количеству найденных берестяных грамот — 19.
В 1238 году Торжок в течение двух недель — с 21 февраля по 5 марта — сдерживал осаду монголо-татарских войск. Торжок пал, но его сопротивление помешало походу татаро-монгольских войск на Новгород. В последующие века Торжок неоднократно разрушался в ходе междоусобных войн, особенно сильно он пострадал в 1372 году от набега под предводительством тверского князя Михаила. C 1478 года Торжок, как и вся Новгородская земля, стал подчинён Великому государству Московскому.
В древности носил название Новый Торг, из-за чего в топонимике одновременно с прилагательным «торжокский», используется и старый вариант — «новоторжский». До революции уезд, центром которого был Торжок, носил название «Новоторжского», а самоназвание жителей города по сей день остаётся — новоторы.
В 1989 году официально праздновалось 1000-летие города Торжок.