Sua fundação data do início da colonização portuguesa, em 1565. Portugueses, holandeses e franceses deixaram suas marcas no estilo colonial e na arquitetura barroca de seus templos. O núcleo urbano inicial de Penedo desenvolveu-se às margens do rio São Francisco, então marco dos limites ao sul da capitania de Pernambuco, região que sediaria, dois séculos mais tarde, Alagoas.
Existem duas versões para a origem do município de Penedo. A primeira, de que a criação do povoado está relacionada a Duarte Coelho Pereira, primeiro donatário da Capitania de Pernambuco, que se aventurou em viagens de exploração do rio São Francisco. A segunda credita essa responsabilidade a seu filho, Duarte Coelho de Albuquerque, que herdou a Capitania e organizou duas bandeiras: uma com destino ao norte de Olinda e outra para o sul, por volta de 1560.
A bandeira que se dirigiu ao sul atingiu o rio São Francisco, entre 1560 e 1565. A primeira sesmaria registrada na região data de 1596, mas acredita-se que o povoado só foi oficialmente fundado a partir de 1613, com o recebimento de uma sesmaria por Cristóvão da Rocha. Em 1636, foi elevada à Vila de São Francisco e, no final do século XVII, passou a ser chamada de Penedo do Rio São Francisco.
Mas mesmo antes de se tornar a Vila de São Francisco, a atividade açucareira crescente favoreceu a construção das capelas de Santo Antônio (1615) e de Nossa Sra. do Rosário dos Pretos (1634). Invadida por tropas holandesas lideradas por Maurício de Nassau, em 1637, para garantir a exclusividade do acesso ao continente pelo rio São Francisco, a vila só voltaria ao domínio português após oito anos, sob o nome de Vila do Penedo do Rio São Francisco. Em 1842, elevada à categoria de cidade, passou a ser chamada apenas Penedo.