Le cœur des ténèbres est centré sur Marlow, un marin introspectif, et son voyage en amont du fleuve Congo pour rencontrer Kurtz, réputé être un homme idéaliste aux grandes capacités.Marlow prend un emploi de capitaine de bateau fluvial avec la Compagnie, une société belge organisée pour le commerce au Congo. Au cours de son voyage en Afrique, puis en remontant le Congo, Marlow se heurte à l’inefficacité et à la brutalité généralisées des postes de la Compagnie. Les indigènes de la région ont été forcés de se mettre au service de la Compagnie, et ils souffrent terriblement du surmenage et des mauvais traitements infligés par les agents de la Compagnie. La cruauté et la misère de l’entreprise impériale contrastent fortement avec la jungle impassible et majestueuse qui entoure les colonies de l’homme blanc, les faisant apparaître comme de minuscules îles au milieu d’une vaste obscurité.
Marlow arrive à la gare centrale, dirigée par le generalmanager, un personnage malsain et conspirateur. Il découvre que ce bateau à vapeur a été coulé et passe plusieurs mois à attendre des pièces pour le réparer. Son intérêt pour Kurtz grandit pendant cette période. Le directeur et son favori, le briquetier, semblent craindre Kurtz comme une menace pour leur position. On dit que Kurtz est malade, ce qui rend les retards dans la réparation du bateau encore plus coûteux. Marlow finit par obtenir les pièces dont il a besoin pour réparer son navire, et lui et le directeur partent avec quelques agents (que Marlow appelle des pèlerins en raison de leur étrange habitude de porter de longues bâtons de bois partout où ils vont) et un équipage de cannibales pour un long et difficile voyage en amont de la rivière. La jungle dense et le silence oppressant rendent tout le monde à bord un peu nerveux, et l’aperçu occasionnel d’un village indigène ou le son des tambours rend les pèlerins frénétiques.
Marlow et son équipage tombent sur une hutte avec du bois de chauffage empilé, ainsi qu’une note disant que le bois est pour eux mais qu’ils doivent s’approcher prudemment. Peu après avoir embarqué le bois, le bateau à vapeur est entouré d’un épais brouillard. Lorsque le brouillard se dissipe, le navire est attaqué par une bande invisible d’indigènes, qui tirent des flèches depuis la forêt. Le timonier africain est tué avant que Marlow n’effraie les indigènes avec le sifflet à vapeur du navire. Peu de temps après, Marlow et ses compagnons arrivent à l’Inner Station de Kurtz, s’attendant à le trouver mort, mais un commerçant russe à moitié fou, qui les accueille sur le rivage, leur assure que tout va bien et les informe que c’est lui qui a laissé le bois. Le Russe prétend que Kurtz a élargi son esprit et ne peut être soumis aux mêmes jugements moraux que les gens normaux. Apparemment, Kurtz s’est imposé comme un dieu auprès des indigènes et a mené des raids brutaux dans les territoires environnants à la recherche d’ivoire. La collection de têtes coupées qui ornent les poteaux de clôture de la station témoigne de ses « méthodes ». Les pèlerins sortent Kurtz du poste sur une civière, et un grand groupe de guerriers indigènes sort de la forêt et les entoure. Kurtz leur parle, et les indigènes disparaissent dans les bois.
Le directeur fait monter Kurtz, qui est assez malade, à bord du bateau. Une belle femme indigène, apparemment la maîtresse de Kurtz, apparaît sur la rive et regarde fixement le navire. Le Russe laisse entendre qu’elle a une relation avec Kurtz et qu’elle a déjà causé des problèmes par son influence sur lui. Le Russe révèle à Marlow, après l’avoir fait jurer de garder le secret, que Kurtz a ordonné l’attaque du vapeur pour leur faire croire qu’il était mort afin qu’ils fassent demi-tour et le laissent à ses projets. Le Russe part alors en canoë, craignant le mécontentement du directeur. Kurtz disparaît dans la nuit, et Marlow part à sa recherche. Il le trouve en train de ramper à quatre pattes vers le campement indigène. Marlow l’arrête et le convainc de retourner sur le bateau. Ils partent sur le fleuve le lendemain matin, mais la santé de Kurtz se dégrade rapidement.
Marlow écoute Kurtz parler pendant qu’il pilote le navire, et Kurtz confie à Marlow un paquet de documents personnels, dont un pamphlet éloquent sur la civilisation des sauvages qui se termine par un message gribouillé qui dit : « Exterminez toutes les brutes ! ». Le bateau à vapeur tombe en panne et ils doivent s’arrêter pour le réparer. Kurtz meurt en prononçant ses derniers mots : « L’horreur ! L’horreur ! » – en présence de Marlow, confus. Marlow tombe malade peu après et survit de justesse. Il finit par retourner en Europe et va voir la fiancée de Kurtz. Elle est encore en deuil, même si cela fait plus d’un an que Kurtz est mort, et elle le loue comme un modèle de vertu et de réussite. Elle demande quelles ont été ses dernières paroles, mais Marlow ne peut se résoudre à briser ses illusions avec la vérité. Au lieu de cela, il lui dit que le dernier mot de Kurtz était son nom.