Se cree que la primera fortificación colocada en la ribera de Foz del río Lima se remonta al reinado de D. Alfonso III, aunque la fecha segura más antigua es del siglo XV, cuando se construyó allí una fortaleza, que habría sido terminada. durante el reinado de D. Manuel I, como sugieren algunos elementos arquitectónicos manuelinos, en concreto la llamada «Torre da Roqueta», situada en el baluarte suroeste de la actual fortaleza.
A finales del siglo XVI, la fortaleza sufrió sucesivas obras de mejora, y fue ya bajo dominación española, durante el reinado de Felipe II (Felipe I de Portugal), cuando se construyó la actual fortaleza poligonal, a partir de un proyecto diseñado por Filippo de Terzi, el diseñador de edificios militares más famoso de la época.