"Holes" erzählt die Geschichte von Stanley Yelnats, einem jungen Mann, der nach Camp Green Lake geschickt wurde, weil er ein Paar Schuhe gestohlen hatte. Er behauptet, unschuldig zu sein und macht einen Familienfluch für sein Pech verantwortlich. Camp Green Lake, ein Erziehungslager für Jungen, verlangt von den Häftlingen, jeden Tag Löcher in ein ausgetrocknetes Seebett zu graben, um Charakter aufzubauen. Stanley stellt bald fest, dass der Aufseher des Lagers tatsächlich nach einem verlorenen Familienschatz sucht.
"Löcher" hat mehrere Handlungsbögen. Die Hauptgeschichte ist die von Stanley Yelnats und seiner Zeit in Camp Green Lake. Das Buch erzählt auch die Geschichte, wie Stanleys Ururgroßvater die Familie Yelnats mit einem Fluch belegte, indem er ein Versprechen an eine einbeinige Zigeunerin namens Madame Zeroni brach. Im Austausch für ein Schwein verspricht Elya, Stanleys Ururgroßvater, Madame Zeroni zu helfen, ihren sterbenden Wunsch zu erfüllen. Elya benutzt das Schwein, um dem Mädchen, das er liebt, einen Heiratsantrag zu machen, stellt jedoch fest, dass sie nicht das ist, was er ursprünglich dachte. Enttäuscht reist er nach Amerika ab, ohne sein Versprechen gegenüber Madame Zeroni zu halten.
Der dritte Handlungsstrang des Buches erzählt die Geschichte von Camp Green Lake. Katherine Barlow, die Schullehrerin der Stadt, entwickelt Gefühle für Sam, einen Zwiebelverkäufer, nachdem er Dinge im Schulhaus repariert hat. Sie teilen sich einen Kuss, aber es kommt zu Ärger, weil Sam schwarz und Kate weiß ist. Einer von Katherines abgelehnten Freiern mischt die Stadt auf und überzeugt sie, Sam zu töten. Als Sam und Kate versuchen, über den Green Lake zu fliehen, werden sie gefasst und Sam wird getötet. Von Trauer in den Wahnsinn getrieben, wendet sich Katherine einem kriminellen Leben als Gesetzlose Kissin' Kate Barlow zu.