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