D'après Snorre Sturluson, la ville aurait été fondée avant 871, et serait donc la plus ancienne de Norvège, ce qui est appuyé par une campagne de fouilles en 2012[3]. La ville est mentionnée pour la première fois par un contemporain, le chroniqueur Orderic Vital vers 1130[4].
Tønsberg était la capitale du parti des Bagler, opposé aux Birkebeiner qui assiègent la forteresse Tunsberghus pour affamer les Bagler s'y étant réfugiés.
Tønsberg a été l'un des centres politiques de la Norvège pendant tout le moyen-Âge. Magnus VI Lagabøte fait agrandir la forteresse de Tunsberghus (aujourd'hui Slottsfjellet), à la fin du XIIIe siècle. Le concordat Sættargjerden entre le roi Magnus VI et l'Église catholique est signé à Tønsberg en 1277.
Des soldats suédois brûlent la forteresse en 1503. L'administration du len (comté) de Tønsberg est alors transféré dans la ville, qui est anéantie par un incendie en 1536. Tønsberg ne retrouve sa prééminence qu'au début du XVIIIe siècle où s'y développent la marine marchande et l'exploitation de siècle. Elle devient une grande station baleinière au tout-début du XXe siècle[5].