Charlie Marlow był wytrawnym, doświadczonym żeglarzem i gawędziarzem. Już nieco podstarzały pływał na krążowniku „Nellie”, na którego pokładzie był jedynym zawodowym marynarzem. Pozostali członkowie załogi traktowali go z należnym mu szacunkiem. Wszystkich interesowały jego opowieści, które snuł całymi godzinami, gdy tylko czas mu na to pozwalał. Podczas postoju na Tamizie Marlow postanowił opowiedzieć kolegom o swoim pobycie w sercu Afryki i spotkaniu z tajemniczym panem Kurtzem.
Marlow od najmłodszych lat był zafascynowany kształtem rzeki Kongo, który podziwiał na mapach i globusach. Od zawsze marzył, żeby poprowadzić parowiec w górę tej niesamowitej błękitnej nitki. Po powrocie do Londynu po sześcioletniej nieobecności, gdy tylko dowiedział się, że kompania handlowa, która prowadzi interesy w Kongo Belgijskim, ma swoje przedstawicielstwo w Londynie zgłosił się tam niezwłocznie. Dzięki wstawiennictwu wpływowej ciotki z kontynentu (Marlow myślał o sobie jako o wyspiarzu, ponieważ był Anglikiem) bohater dostał wymarzoną posadę. Później okazało się, że miejsce zwolniło się po tym, jak tubylcu zamordowali jednego z kapitanów.
Aby dopiąć wszelkich formalności Marlow musiał udać się do grobowego miasta (Brukseli), gdzie mieściła się siedziba przedsiębiorstwa. Na miejscu przekonał się, że pracujący tam ludzie są bardzo tajemniczy, dwie kobiety tam spotkane nazwał nawet: odźwiernymi u wrót Ciemności. Po błyskawicznym załatwieniu papierkowych formalności i rozmowie z prezesem, skierowano marynarza do lekarza na badania. Od medyka Marlow dowiedział się, że ten nie znał nikogo, kto żywy wrócił z koloni. Po złożeniu wizyty swojej ciotce bohater był gotów do wyruszenia w podróż.
Rejs francuskim parowcem z południa Europy do serca Afryki trwał aż trzydzieści dni. W tym czasie Marlow czuł niepokój z powodu złowieszczego wyglądu linii brzegowej, która ciągle wyglądała tak samo. Denerwowała go dżungla, która tak gęsto porastała nabrzeże, że dostrzeżenie czegokolwiek w głąb lądu było niemożliwe. Mniej więcej w połowie podróży parowiec natknął się na francuski okręt wojenny, który prowadził nieustający ostrzał brzegu, pomimo że niczego nie było na nim widać. Ta sytuacja przypominała Marlowowi zły sen, z resztą jak cała podroż.
Po przesiadce do drugiego parowca, który zabrał marynarza w górę rzeki Kongo bohater dotarł do pierwszej stacji należącej do towarzystwa. Kompania budowała w tamtym miejscu tunel dla kolei żelaznej. Widok, jaki ukazał się oczom Marlowa był przerażający: czarnoskórzy niewolnicy spętani łańcuchami resztkami sił drążący skałę. Niektórzy z nich padali na miejscu, inni udawali się do małego gaju, gdzie umierali z wycieńczenia. Bohater nieopodal lasku spotkał mężczyznę zupełnie niepasującego do tego krajobrazu. Główny księgowy spółki był ubrany schludnie i na biało.
Marlow musiał spędzić kilka dni w stacji w oczekiwaniu na karawanę, która miała zabrać go do dalej w głąb kraju. Księgowy wyjawił mu wówczas, że na swojej drodze prędzej czy później spotka Kurtza, najbardziej utalentowanego agenta spółki.
Karawana, w której poza Marlowem szedł tylko jeden biały człowiek zamierzała dojść w piętnaście dni do Stacji Centralnej, gdzie na bohatera oczekiwało stanowisko kapitana parowca. Po długiej i męczącej podróży Marlow dowiedział się, że okręt, którym miał zawiadywać spoczywa uszkodzony na dnie rzeki.
Bohater nie polubił dyrektora Stacji, który poza świetnym zdrowiem nie miał żadnych innych zalet. Nie był ani wykształcony, ani inteligentny, ani zdolny. Mężczyzna w żaden sposób nie panował nad tym, co działo się w Stacji. Jego podwładni, tak jak on, byli ogarnięci żądzą zdobycia kości słoniowej. Marlow dostał od niego trzy miesiące na to, by naprawić parowiec i wyruszyć na ekspedycję, której celem było dotarcie do stacji położonej w górze rzeki sprowadzenie stamtąd potrzebującego pomocy agenta Kurtza.
Pewnego dnia w stacji wybuchł pożar. Szybko ujęto domniemanego czarnoskórego podpalacza, i chociaż ten zarzekał się, że był niewinny, wychłostano go na oczach Marlowa. Bohater nie mógł uwierzyć w okrucieństwo pracowników Stacji. Właśnie tego dnia poznał podejrzanego mężczyznę, który zapewniał go, iż zajmował się wyrobem cegieł. Nie trudno było się domyślić, że kłamał, ponieważ w pobliżu kilkuset kilometrów nie można było znaleźć chociażby jednej cegły. Marlow domyślił się, że mężczyznę łączyły ciemne interesy z dyrektorem Stacji i miał rację.
Prawdziwym ukojeniem dla marynarza była ciężka praca przy naprawie parowca. Jednak musiał przez kilka dni dać sobie z tym spokój, gdyż zabrakło mu nitów i trzeba było na nie zaczekać kilka dni. W tym czasie w obozie pojawiła się Wyprawa Odkrywcza Eldorado, czyli banda złodziei pod przewodnictwem wuja dyrektora Stacji, którzy plądrowali od lat tereny kolonialne. Marlow mimochodem podsłuchał rozmowę pomiędzy krewnymi, z której wynikało, że obydwaj nienawidzili Kurtza i pragnęli jego śmierci, ponieważ stanowił on przeszkodę w ich interesach. Ta wiadomość spowodowała, że marynarz polubił tajemniczego agenta.
Trzy miesiące naprawiania parowca, a następnie kolejne dwa miesiące przedzierania się w górę rzeki, tyle czasu Marlow spędził w miejscu, które przypominało mu piekło. Podróż statkiem była niezwykle trudna i satysfakcjonująca dla głównego bohatera. Załogę stanowili poza nim dyrektor, kilku mężczyzn ze Stacji i dwudziestu tubylców, których siła fizyczna nie raz pozwalała wydobyć parowiec z mielizn rzeki.
Wreszcie załoga dopłynęła do małego obozowiska. Tam, w małej szopie, Marlow odnalazł książkę zatytułowaną Badania dotyczące pewnych zagadnień marynarskich, a na jej marginesach widniały notatki w języku rosyjskim. Natrafił też na ostrzeżenie o niebezpieczeństwie czyhającym w górze rzeki.
Marlow wiedział, że obóz Kurtza znajduje się już niedaleko, ale wolał zakotwiczyć parowiec na noc. Rano statek spowity był mgłą, którą rozdarł przerażający krzyk. Widoczność z każdą minutą się pogarszała. Marynarz był przekonany, że w powietrzu czai się coś złego. Jakieś dwie godziny po opadnięciu mgły statek został zaatakowany przez plemię tubylców. W walce zginął między innymi sternik parowca. Pracownicy Stacji otworzyli ogień do czarnoskórych napastników, lecz ich to wcale nie odstraszało. Dopiero dźwięk gwizdka parowego uruchomionego przez Marlowa wywołał popłoch u tubylców.
Podczas gdy załoga nie oprzytomniała jeszcze po zetknięciu z wojownikami, ich oczom ukazał się wyczekiwany obóz Kurtza. Na brzegu oczekiwał ich młody Rosjanin, pomocnik agenta, który z miejsca wyjaśnił Marlowowi, że tubylcy traktowali światłego pracownika kompanii jak swoje bóstwo. Arlekin, jak nazywał go w duchu główny bohater, nie ukrywał, że Kurtz popadł w obłęd i wymaga natychmiastowej pomocy. Marlow wysłuchując opowieści o stworzonej przez agenta małej armii, której celem było grabienie okolicznych ludów z zapasów kości słoniowej, rozglądał się za pomocą lunety. Nagle dostrzegł, że na pale rozmieszczone wokół chaty Kurtza nadziane były głowy czarnoskórych wojowników. Rosjanin wyjaśnił, że należały one do buntowników. Pomimo wielu barbarzyńskich aktów, jakich się dopuścił Kurtz, Arlekin wciąż darzył go wręcz uwielbieniem, czego nie mógł pojąć główny bohater.
Pracownicy Stacji wynieśli chorego agenta na noszach z jego chaty i zanieśli go na pokład, chociaż najpierw na drodze stanęli im tubylcy. Kurtz uspokoił ich wówczas jednym ruchem ręki i rozkazał się rozejść. Marlow zadecydował, że będą musieli poczekać do następnego ranka z wyruszeniem, gdyż było zbyt późno. Wreszcie udało mu się zamienić kilka zdań na osobności z Kurtzem, dzięki czemu pojął na czym polegał jego fenomen. Główny bohater nie dał się jednak oczarować i nie ukrywał, że potępiał niehumanitarne metody pracy Kurtza.
Po północy Marlow zorientował się, że chory agent uciekł ze swojej kajuty. Marynarz zeskoczył na brzeg i pobiegł w kierunku obozu. Bardzo szybko odnalazł czołgającego się Kurtza i nakłonił go do powrotu na pokład parowca. Nad rankiem nabrzeże przepełnione było tubylcami. Marlow obawiał się, że przeprowadzą kolejny atak, tym razem aby odbić swojego przywódcę. Na szczęście ponownie wystraszyli się gwizdka.
W drodze powrotnej Marlow wielokrotnie rozmawiał z Kurtzem, głównie na temat śmierci. Marynarz obserwował powolny proces odchodzenia wybitnego agenta na inny świat. Ostatnie chwile życia Kurtza przepełnione były cierpieniem, wręcz agonią. Tuż przed wyzionięciem ducha mężczyzna krzyczał w kółko: Zgroza! Zgroza!
Po powrocie do Europy, w grobowym mieście, Marlow spełnił obietnice dane Kurtzowi przed śmiercią. Przekazał powierzone mu dokumenty rodzinie i przyjaciołom wybitnego agenta. Udał się też do jego narzeczonej. Zanim doszedł do jej domu natknął się na widmo Kurtza. W mieszkaniu kobiety zorientował się, że mimo upłynięcia od jego śmierci grubo ponad roku, ona wciąż opłakiwała swojego ukochanego. Marlow okłamał narzeczoną Kurtza, że ostatnimi słowem wypowiedzianym przez niego za życia było jej imię.