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