Жаркой ночью шхуна «Медуза» стояла на якоре у побережья Аргентины. На её палубе отдыхали ловцы жемчуга. Ночную вахту нёс Бальтазар, индеец из племени араукана, первый помощник капитана и владельца шхуны Педро Зуриты. В молодости Бальтазар был известным ловцом жемчуга. Состарившись, он открыл лавку морских редкостей и начал работать на Зуриту.
Бальтазар уже начал дремать, когда до него донёся музыкальный звук трубы в сопровождении весёлого и молодого голоса. Рыбаки и ловцы жемчуга всполошились — это был морской дьявол. Это неведомое существо уже давно терроризировало побережье, помогая одним и нанося вред другим. Он разрезал сети, подкидывал рыбу в лодки бедняков и развлекался, подшучивая над рыбаками. Учёные не могли классифицировать это существо, поскольку его никто не видел. Зурита же до сих пор вообще не верил в морского дьявола.
Утром обнаружилось, что верёвки привязанных к шхуне шлюпок перерезаны острейшим ножом. Немного позже один из ныряльщиков увидел и самого дьявола — существо с чешуйчатой кожей, огромными глазами и лягушачьими лапами. Дьявол спас ныряльщика от акулы. Зурита снова не поверил, но вскоре и сам увидел странное существо, сидящее верхом на дельфине и трубящее в большую раковину.
Убедившись в существовании морского дьявола, Зурита решил его поймать и заставить работать на себя. Бальтазар взялся ему помогать. Дьявол появился снова только через три недели. Проследив за ним, Бальтазар обнаружил подводную пещеру, в которой и скрывалось существо. Вокруг пещеры расставили крепкие сети, но попавшийся в них дьявол сумел перерезать верёвки.
Зурита не сдавался. Он наполнил залив ловушками и сетями, но дьявол больше не появлялся. Наконец, Зурита купил два водолазных костюма и они с Бальтазаром спустились в пещеру морского дьявола. Пещера оказалась наполовину заполнена воздухом, а в её глубине обнаружилась крепкая решётка с хитрым замком. Порыскав по округе, Зурита наткнулся на каменную стену, за которой находился дом доктора Сальватора.
В Буэнос-Айресе Зурита узнал, что доктор знаменит своими смелыми операциями. «Во время империалистической войны он был на французском фронте, где занимался почти исключительно операциями черепа». После войны Сальватор вернулся в Аргентину и занялся наукой. Лечил он только индейцев, которые считали доктора богом. Зурита понял, что Сальватор как-то связан с морским дьяволом.
Однажды к Сальватору пришёл старый индеец Кристо (Христофор) с больной внучкой. Доктор вылечил девочку. Из благодарности Кристо захотел посвятить доктору остаток своей жизни. Сальватор «неохотно и осторожно брал новых слуг», но работы было много, и Кристо попал в дом доктора. Сначала индеец работал во внешнем саду, огороженном двумя высокими стенами. Там жило множество странных животных: двухголовые змеи и крысы, воробьи с головой попугая, ламы с лошадиными хвостами и говорящие обезьяны. Обслуживали этот сад очень молчаливые негры.
Вскоре Сальватор собрался в Анды за новыми животными для опытов, и собрался взять с собой Кристо. Тот отпросился повидать семью, но на самом деле отправился к брату Бальтазару. Помощник Зуриты отправил своего брата в дом доктора, чтобы тот разузнал о морском дьяволе. Узнав об экспедиции в Анды, братья составили план: Сальватора захватят «бандиты», а Кристо его спасёт, после чего станет доверенным лицом доктора.
План удался. Вернувшись домой, Сальватор привёл Кристо во внутренний сад. Доктор осушил бассейн, вырытый посреди небольшого сада, и спустился в люк. Длинный ход привёл их в залу с огромным аквариумом, выходившим прямо на морское дно. Из аквариума через специальную камеру вышло «человекообразное существо с большими выпуклыми глазами и лягушечьими лапами. Тело неизвестного сверкало синевато-серебристой чешуёй». Глаза оказались очками, лапы — перчатками, а чешуя — специальным сверхпрочным костюмом. Под всем этим скрывался красивый юноша по имени Ихтиандр.
Юноша звал доктора отцом, но не был похож на белого. Правильными чертами лица и смуглой кожей он напоминал индейца племени араукана. Ихтиандр мог жить под водой — Сальватор вживил в его тело жабры молодой акулы. Именно его рыбаки и считали морским дьяволом.
Почти всё время Ихтиандр проводил в океане со своим другом, дельфином Лидингом. Однажды он спас красивую девушку. Она была без сознания и дрейфовала в океане, привязанная к доске. Ихтиандр вынес девушку на берег. Увидев, что она приходит в себя, человек-амфибия скрылся — он не хотел её испугать. Вскоре рядом с девушкой появился «смуглый человек с усами и эспаньолкой, в широкополой шляпе на голове» и выдал себя за её спасителя. Ихтиандр был изумлён и возмущён столь наглой ложью.
Кристо стал слугой Ихтиандра. На воздухе юноша мог проводить немного времени: когда жабры подсыхали, юноша начинал задыхаться. В обязанности Кристо входило следить, чтобы Ихтиандр несколько ночей в неделю спал не в воде, а в обычной кровати. Ихтиандр получил неплохое, но слишком одностороннее образование. Он был хорошо знаком с естественными науками, но практически ничего не знал о жизни на суше. В вопросах повседневной жизни юноша разбирался хуже пятилетнего ребёнка.
Тем временем Сальватор снова уехал в горы. Ихтиандр не мог забыть спасённую им девушку, и Кристо сумел выманить его в город, пообещав поискать прекрасную незнакомку. Жаркий и пыльный город не понравился Ихтиандру. Кристо привёл его в лавку Бальтазара. Пока братья разговаривали, в помещение вошла приёмная дочь Бальтазара, Гуттиэре. Девушка славилась своей красотой и недоступностью. Увидев её, юноша вскочил и убежал — он её узнал.
Некоторое время спустя Ихтиандр сам пришёл к лавке Бальтазара. На берегу он увидел Гуттиэре, которая передавала жемчужное ожерелье высокому, широкоплечему человеку по имени Ольсен. Вдруг ожерелье выскользнуло из пальцев девушки и упало в океан. Место там было глубокое, и ожерелье было бы потеряно, но Ихтиандр его достал. Так юноша познакомился с Гуттиэре. Теперь они встречались почти каждый вечер. Бальтазар не подозревал, что новый кавалер его дочери и есть морской дьявол.
Однажды Ихтиандр вернулся домой раненный — он спасал Лидинга от охотников. Перевязывая рану, Кристо увидел на плече юноши большую тёмную родинку необычной формы. Несмотря на рану, Ихтиандр пришёл на свидание к Гуттиэре. Вдруг к ним подъехал всадник, которого юноша узнал: это был человек, выдавший себя за спасителя девушки. Всадник, оказавшийся Зуритой, заявил, что невеста не должна разгуливать с другим накануне свадьбы. Узнав, что Гуттиэре чья-то невеста, Ихтианндр начал задыхаться, и бросился с обрыва в океан. Гуттиэре решила, что юноша, который так ей нравился, утонул. Бальтазар снова попытался уговорить дочь выйти замуж за Зуриту, но в ответ снова услышал «нет».
Проведя в море несколько дней, Ихтиандр затосковал. Он нашёл в море лодку Ольсена. Тот рассказал юноше, что вовсе не он жених Гуттиэре, и что совсем недавно девушка стала женой Зуриты — тот увёз её насильно. Гуттиэре и Ольсон собирались убежать в Северную Америку, но не успели. От Ольсена Ихтиандр узнал, что Зурита увёз девушку на свою гасиенду «Долорес», и решил отправиться за ней.
Половину пути до гасиенды Ихтиандр проделал по реке. Дальше надо было идти пешком. Юноше не повезло: по дороге он встретил полицейского, которому измятый костюм Ихтиандра показался подозрительным. На соседней ферме произошло убийство, и полицейский решил обвинить в нём подозрительного юношу. Он надел на Ихтиандра наручники и повёл в ближайшее селение. Оказавшись на перекинутом через пруд мосту, Ихтиандр прыгнул в воду и притворился утонувшим. Пока полицейские искали «утопленника», Ихтиандр дошёл до гасиенды.
Оказавшись на месте, юноша попытался найти Гуттиэре, но наткнулся на Зуриту. Тот ударил Ихтиандра по голове и бросил в пруд. Гуттиэре услышала возню в саду, вышла к пруду и увидела, как из воды выходит человек, которого она считала мёртвым. Ихтиандр признался, что именно его считают морским дьяволом. Зурита бдительно следил за молодой женой и сумел подслушать этот разговор. Он понял, что морской дьявол, наконец-то, у него в руках. Он увидел, что Ихтиандр закован в наручники, и пригрозил, что сдаст его в полицию. Гуттиэре начала умолять мужа пощадить Ихтиандра, и тот сделал вид, что не может устоять перед мольбами жены. Он пообещал переправить Ихтиандра на свою шхуну и выпустить в открытом океане. Однако, попав на шхуну, Зурита запер Ихтиандра в трюме, а Гуттиэре — в каюте.
Тем временем между братьями Кристо и Бальтазаром состоялся важный разговор. Жена Бальтазара умерла во время родов, когда Кристо переправлял её через горы. Тогда он сказал брату, что ребёнок тоже умер. На самом деле Кристо отнёс мальчика доктору Сальватору, который сообщил, что не смог спасти ребёнка. По родинке Кристо узнал в Ихтиандре своего племянника. Новость о том, что его сын жив и стал морским дьяволом, поразила Бальтазара.
На следующий день из экспедиции вернулся Сальватор. Кристо сообщил ему, что Ихтиандра похитили. Доктор бросился спасать юношу на подводной лодке, спрятанной в пещере под домом.
Утром Зурита велел вывести Ихтиандра на палубу. Юноша плохо себя чувствовал. Он не мог жить без чистой воды, но ему приходилось окунаться в бочку из-под солонины. Оглушив «морского дьявола», Зурита заковал его в металлический пояс на длинной цепи и отправил искать жемчуг, пообещав после этого отпустить. Улов Ихтиандра поразил Зуриту. Он захотел большего, но побоялся выпускать человека-амфибию в океан без цепи. Зурита решил, что сможет удержать юношу с помощью Гуттиэре, но та отказалась ему помогать.
Между тем команда шхуны узнала, что на борту находиться морской дьявол, и взбунтовалась. Матросы решили убить Зуриту. Спасаясь, он залез на мачту и увидел подплывающую к судну подводную лодку доктора. Перепуганные матросы попрыгали в воду. Зурита тоже покинул корабль, захватив упирающуюся Гуттиэре. Ихтиандра на покинутой шхуне не оказалось. Сальватор не знал, что юноша был под водой. Недалеко от этого места затонул богатый пассажирский пароход. Зурита заставил Ихтиандра спуститься туда и собрать все драгоценности, показав ему поддельную записку от Гуттиэре. Наивный юноша выполнил приказ негодяя и уже плыл к берегу, когда девушка сумела крикнуть, чтобы он спасался. Ихтиандр решил уплыть подальше от людей.
Бальтазар тем временем не находил покоя. Он хотел вырвать своего сына из лап доктора Сальватора, который казался ему чудовищем. Он нашёл пройдоху-стряпчего, который от имени Бальтазара подал в суд на доктора. Возбудил судебный иск против Сальватора и Зурита — он хотел навсегда завладеть Ихтиандром, став его опекуном. Судебный процесс получился громким, поскольку против доктора были прокурор и епископ. Обследовав дом Сальватора и увидев результаты его опытов, учёные сочли доктора гениальным безумцем. За себя доктор был спокоен. Волновался он только за Ихтиандра, которого тоже держали в тюрьме. На суде Сальваторе заявил, что хотел создать людей будущего, которые могли бы жить в океане и использовать его неистощимые ресурсы.
В тюрьме Ихтиандру пришлось жить в вонючей железной бочке и питаться сырой рыбой. Такая жизнь привела к тому, что юноша уже практически не мог дышать воздухом. «Человек-амфибия превращался в человека-рыбу». К счастью, начальник тюрьмы был многим обязан Сальватору — доктор спас его жену и ребёнка. Он узнал, что Ихтиандра хотят убить как «богопротивное существо» и решил его спасти. Из тюрьмы человека-амфибию вывез Ольсен. Попав в океан, юноша поплыл на острова Туамоту, где жил друг доктора Сальватора. Сам доктор надеялся выйти из тюрьмы через несколько лет и воссоединиться с приёмным сыном.
Гуттиэре видела, как Ихтиандр уплывал в океан. Она не решилась показаться ему на глаза, боясь, что юноша откажется уплывать. Девушка сбежала от жестокого мужа, переехала в Нью-Йорк и вышла замуж за Ольсена. Кристо остался служить у Сальватора, который вышел из тюрьмы и готовился к далёкому путешествию. О морском дьяволе помнил только Бальтазар, которого в городе считали сумасшедшим.