La Vallée de l'Ohio (West Virginia), en 1930. Harry Powell, un "prêcheur" itinérant et fanatique, qui porte tatoués les mots "love" (amour) sur la main droite et "hate" (haine) sur la main gauche, a déjà plusieurs meurtres à son actif : de riches veuves dont il s'est approprié la fortune. Arrêté pour un simple vol, il partage la cellule de Ben Harper, un condamné à mort qui a tué un homme en dérobant dix mille dollars dans une banque. Pas plus que la police, Powell ne parvient à lui faire avouer où il a dissimulé son butin. C'est un secret que John et Pearl, les deux enfants de Ben, sont les seuls à connaître.
Après l'exécution de Harper, Powell, libéré, se rend chez Willa, sa veuve et après l'avoir épousée, cherche – en vain – où le trésor est caché. Il use de menaces envers les enfants mais, démasqué par Willa, il la tue et fait disparaître son corps dans le fleuve Ohio.
Pour sauver la vie de John, Pearl révèle à Powell la cachette de l'argent : dans la poupée dont elle ne se sépare jamais... Poursuivis par Powell, les enfants parviennent à s'enfuir à bord d'une barque qui descend le fleuve.
Ils vont trouver refuge auprès de la bonne Rachel qui, en ces temps difficiles, a déjà recueilli plusieurs autres enfants abandonnés. Mais Powell, obstiné, a fini par découvrir leur retraite. Il fait le siège de la maison où Rachel s'est retranchée avec les enfants. Celle-ci, en dépit des menaces proférées par le "prêcheur", parviendra à le faire arrêter. Jugé, Harry Powell sera condamné à la pendaison.