El origen de la ciudad fue el castillo de Besalú que ya se encuentra documentado en el siglo X, construido encima de un cerro donde están los restos de la canónica de Santa María, en la Alta Edad Media.