Pensa-se que datará do reinado de D. Afonso III, a primeira fortificação colocada na barra da Foz do rio Lima, embora a mais antiga data segura seja já do século XV, quando ali foi construída uma fortaleza, que teria sido concluída já durante o reinado de D. Manuel I, como sugerem alguns elementos arquitetónicos manuelinos, nomeadamente a chamada “Torre da Roqueta”, situada no bastião sudoeste da atual fortaleza.
Nos finais do século XVI, a fortaleza foi alvo de sucessivas obras de beneficiação, tendo sido já sob a dominação espanhola, durante o reinado de Filipe II (Filipe I de Portugal), que foi edificada a atual fortaleza de planta poligonal, a partir de um projeto da autoria de Filippo de Terzi, o mais famoso projetista de edificações militares dessa época.