Події роману відбуваються приблизно в середині XVIII століття Джим Хокінса живе зі своїми батьками в невеликому містечку. Батько Джима має трактир “Адмірал Бенбоу” на березі моря. Одного разу в трактирі селиться новий постоялець – колишній моряк Біллі Бонс. Через деякий час, до нього починають приходити дивні гості. Першим є моряк по кличці Чорний Пес, старий знайомий Біллі.
Вони сваряться, Бонс ранить Чорного Пса, але той рятується втечею. Потім Біллі відвідує страшний сліпий жебрак П’ю, який передає йому чорну мітку – грізне
Джим і його мати, яким Біллі заборгував гроші за постій, обшукують мертвого моряка і його речі. На дні його скрині вони виявляють гроші і пакет паперів. З цих паперів стає ясно, що Бонс був помічником капітана на кораблі знаменитого пірата Флінта і володів картою острова, де Флінт закопав свої скарби. Джим ледь встигає забрати папери Флінта з-під носа сліпого П’ю і його головорізів, які нападають на трактир “Адмірал Бенбоу” з метою
Бонс, Чорний Пес, сліпий П’ю і решта – всі вони колишні члени команди “Моржа”, піратського судна капітана Флінта. Раптово на допомогу Джиму та його матері приходить загін королівських митників. Сліпий П’ю випадково гине, а решта пірати спішно рятуються втечею – їх відхід прикриває команда піратського Люггера, на якому знаходяться їх спільники.
Джим передає документи і карту доктору Лівсі і сквайрові Трелони. Заможний Трелони починає підготовку експедиції і доручає ділку Блендлі спорядити для експедиції підходяще судно – шхуну “Еспаньйола”. Капітан “Еспаньйоли” Смоллетт висловлює великі сумніви в надійності команди, а особливо не довіряє своєму помічникові – штурману Ерроу, але поступається вмовлянням доктора Лівсі і поблажливості Трелони. “Еспаньйола” відправляється з Брістоля до Острова скарбів. В дорозі Джиму вдається підслухати таємну розмову матроса Діка, “другого” боцмана Ізраеля Хендса і кока, одноногого Джона Сільвера, по прізвиську Окорок (англ.
Barbecue), він же Довгий Джон. Виявляється, що екіпаж, який найняв Трелони, здебільшого складається з колишньої команди Флінта, і Сільвер – глава змови, мета якого – захопити скарби… Джим дізнається, що піратів на кораблі істотно більше, ніж чесних людей.
З жахом чує він про те, що Сільвер і його зграя збираються вбити всіх чесних людей.
Пірати із зграї натискають на Сільвера і підганяють його пошвидше напасти на мирних людей, але Сільвер розуміє, що шайка не зможе сама управляти кораблем, так як ніхто з піратів не має відповідної освіти. План Сільвера – почекати поки сквайр, лікар і інші знайдуть скарби і занурять їх на корабель, почекати, поки досвідчений капітан Смолетт доведе корабель “хоча б до пасату” і вже потім вбити всіх позитивних героїв. Тим часом корабель підпливає до Острова Скарбів.
Сільвер бачить, що його план починає руйнуватися. Пірати практично відкрито ігнорують накази капітана, поводяться досить агресивно. Джим розповідає капітану, сквайрові і доктору те, що він чув. Герої розуміють що вони в пастці. Капітан вирішує розрядити атмосферу і пропонує команді зійти на берег.
План капітана – застати зненацька піратів, залишених на кораблі, напасти на них і захопити “Еспаньйолу”.
План капітана спрацював би, якби Джим НЕ поплив на одній з шлюпок разом з піратами. Тому капітан пропонує новий план. По карті він бачить, що на острові є старий покинутий форт. Капітан пропонує перебратися в форт і тримати оборону на суші.
Герої збирають порох, зброю, продукти, сідають в шлюпку і спливають з корабля. Пірати, заскочені цими діями зненацька, готуються обстріляти шлюпку. В шлюпці знаходяться капітан, доктор, сквайр, слуги сквайра і Абрахам Грей – людина з команди, якого пірати хотіли, але не змогли схилити на свою сторону. Хендс намагається потопити шлюпку, обстрілюючи її з гармати. Сквайрові вдається підстрелити одного з піратів.
Незабаром герої добираються до форту і розташовуються в ньому. Капітан роздає кожному пости. Герої готові до тривалої облоги.
Тим часом Джим досягає берега з піратами і тікає. Через деякий час він стає свідком вбивства чесного моряка Тома Джоном Сильвером.
По дикому крику стає зрозуміло, що й ще один чесний моряк Алан теж убитий піратами. Джим біжить, не розбираючи дороги, і зустрічає чоловіка, одягненого в козячі шкури і ведучого себе дуже дивно. Людина ця повідомляє, що його звуть Бен Ганн, і що він колишній раскаявшийся пірат. Бен просить Джима організувати зустріч з доктором.
Джим бачить зметнувся англійський прапор і поспішає до своїх друзів. На наступний день герої бачать Сільвера, підходящого до форту з білим прапором. Капітан виходить для переговорів. Сільвер пропонує віддати йому карту в обмін на те, що пірати залишать чесних людей в спокої і пошлють їм на виручку перший же зустрічний корабель.
Капітан жорстко відмовляє Сильверу і попереджає, що всі переговори закінчені. Сільвер віддаляється, погрожуючи “підірвати цей старий блокгауз як бочку пороху”. Незабаром пірати починають штурм фортеці.
Сили не рівні, однак герої сміливо б’ються. Незабаром, втративши кілька людей убитими, пірати змушені відступити. Але і в рядах чесних людей теж є втрати – слуги сквайра вбито, капітан поранений.
Джим передає доктору прохання Бена Ганна.
Не в силах витримати знаходження в фортеці, Джим бере запас сухарів і робить вилазку. Він приходить на берег, бачить Испаньолу і вирішує подивитися, що на ній відбувається. Джим знаходить човник Бена Ганна, зроблений зі шматків дерева та козячих шкур, і, дочекавшись відпливу підпливає до корабля. Джим не знає. однак, що з іншого боку до корабля підпливає Сільвер. Довгий Джон дізнається, що сторожа, Гендсе і О’Брайен, що залишилися вартувати корабель, мертвецьки п’яні.
Наказавши їм строго настрого стежити за кораблем, Сільвер відпливає. Джим досягає корабля, відштовхує човник і піднімається на борт по якірному канату. Настає ранок.
Джим знаходить пораненого Хендса і убитого О’Брайена. Під керівництвом Хендса Джим приводить корабель на Північну стоянку, тепер про місцезнаходження корабля нікому невідомо. Гендсе намагається напасти на Джима. Випадково Джим вбиває Хендса. Еспаньйола сіла на мілину, але зате вона надійно захована.
Радісний, Джим повертається в форт, проте виявляє там піратів замість своїх друзів.
Джим стає заручником. Незабаром приходить з візитом доктор. Він оглядає і лікує хворих лихоманкою піратів, і просить Сільвера дозволу поговорити з Джимом.
Сільвер відпускає Джима для розмови з доктором, взявши з нього чесне слово, що він не втече. Доктор вмовляє Джима втекти, але той відмовляється. Джим повідомляє доктору, де захований корабель. Поведінка Сільвера, явно ведучого подвійну гру, обурює піратів.
Сильверу вручають чорну мітку і вимагають перевиборів капітана. Однак, Сільвер пояснює свою поведінку. Він виявляється уклав договір з капітаном. В обмін на карту, запаси продовольства і форт, пірати дали героям піти.
Сільвер та інші не розуміють, навіщо це було потрібно.
Сільвер відмовляється вбивати Джима, пояснюючи піратам, що не можна вбивати заручника. Сільвер залишається капітаном, його авторитет тільки зростає. На наступний день пірати, взявши з собою Джима, йдуть шукати скарби.
Незабаром вони натикаються на скелет. Сільвер розуміє, що це компас – один з жартів Флінта. Раптово пірати чують голос Флінта. У жаху вони зупиняються і не можуть йти далі.
Сільвер переконує всіх, що це голос живої людини, так як всі чули ехо. Незабаром пірати розпізнають голос Бена Ганна. Пірати продовжують свій шлях і знаходять величезну яму, в якій явно вже хтось копався.
Пірати розуміють, що скарб вже знайдений, і саме з цієї причини капітан і віддав карту.
Пірати намагаються напасти на Сільвера, але він виявляється сильнішим і спритнішим. Крім того, капітан, доктор, сквайр і Бен Ганн нападають на піратів із засідки. Виявилося, що Бен вже давно знайшов скарби і переніс їх у свою печеру.
Кілька днів герої перетягували скарби на корабель. Незабаром вони попливли з острова, залишивши там трьох, що залишилися в живих піратів. Сильверу вдається зникнути в одному з портів, прихопивши частину скарбів. Бен Ганн допоміг йому зробити це, тому що смертельно боявся Сільвера. Повернувшись до Англії, герої стали багатими людьми.
Тільки Бен Ганн розтратив за кілька днів усі свої скарби. Сквайр взяв його на роботу садівником.