« Holes » suit l'histoire de Stanley Yelnats, un jeune homme envoyé au Camp Green Lake pour avoir volé une paire de chaussures. Il maintient qu'il est innocent et attribue sa malchance à une malédiction familiale. Camp Green Lake, un camp de réforme pour garçons, oblige les détenus à creuser des trous dans le lit d'un lac asséché chaque jour pour forger leur caractère. Stanley découvre bientôt que le gardien du camp est en fait à la recherche d'un trésor de famille perdu.
"Holes" a plusieurs arcs de tracé. L'histoire principale est celle de Stanley Yelnats et de son séjour au Camp Green Lake. Le livre raconte également comment l'arrière-arrière-grand-père de Stanley a jeté une malédiction sur la famille Yelnats en rompant une promesse faite à une gitane unijambiste nommée Madame Zeroni. En échange d'un cochon, Elya, l'arrière-arrière-grand-père de Stanley, promet d'aider Madame Zeroni à réaliser son dernier souhait. Elya utilise le cochon pour proposer à la fille qu'il aime, mais découvre qu'elle n'est pas ce qu'il pensait à l'origine. Désenchanté, il part pour l'Amérique sans tenir sa promesse envers Madame Zeroni.
Le troisième arc de l'intrigue du livre raconte l'histoire de Camp Green Lake. Katherine Barlow, l'institutrice de la ville, se retrouve à développer des sentiments pour Sam, un vendeur d'oignons, après qu'il ait arrangé les choses autour de l'école. Ils partagent un baiser, mais des problèmes surviennent parce que Sam est noir et Kate est blanche. L'un des prétendants rejetés de Katherine agite la ville, les convainquant de tuer Sam. Lorsque Sam et Kate tentent de s'échapper à travers Green Lake, ils sont attrapés et Sam est tué. Rendue folle par le chagrin, Katherine se tourne vers une vie de crime en tant que hors-la-loi Kissin' Kate Barlow.