Corre o ano de 1879 e Maria, uma criança com apenas 9 anos de idade, e o seu pai Marcelino (Antonio Banderas), habitantes da comunidade espanhola de Cantábria, descobrem, por mero acaso, uma caverna com várias pinturas rupestres que remontam ao Paleolítico Superior. A mãe de Maria, a devota Conchita, duvida que selvagens pré-históricos possam ter criado arte de tal beleza, levando a que a Igreja Católica veja a descoberta como uma ameaça ao que é descrito na Bíblia. Surge então a acusação de que as pinturas são falsas, o que leva Marcelino a tornar a busca pela verdade uma missão… já que ele é o principal acusado.