Когда Лонгрен, вернувшийся из долгого плавания, пришёл в Каперну, он узнал печальную весть: его жена Мэри умерла вскоре после родов. Лонгрен бросил море, чтобы растить дочку Ассоль (Анастасия Вертинская). Время от времени он относил в Лисс и продавал лавочнику игрушечные корабли и лодки, которые мастерил.
В одну из штормовых ночей Лонгрен увидел, как огромные волны уносят в море лодку с трактирщиком Меннерсом, который когда-то отказал в помощи Мэри. И Лонгрен не стал спасать трактирщика. За это в Каперне невзлюбили старого моряка, а заодно и маленькую Ассоль. Девочка росла одинокой и мечтательной... А далеко от Каперны, в старинном замке, рос маленький граф Артур Грей.
Погребщик Польдешок построил для него на чердаке настоящее штурвальное колесо, и воспоминания бывалого матроса превращались для Артура в увлекательные путешествия и схватки с пиратами... Однажды Лонгрен сделал для Ассоль яхточку с алыми парусами. Лесной ручей унёс её к самому берегу моря, где сидел сказочник Эгль. Эгль предсказал девочке, что когда-нибудь приплывёт в Каперну настоящий корабль под алыми парусами, и прекрасный принц увезёт Ассоль с собой...
Прошли годы. Артур Грей (Василий Лановой) вырос и стал капитаном. Однажды его "Секрет" бросил якорь в Лиссе. Гуляя в лесу, Грей увидел спящую Ассоль. А через несколько дней на горизонте появился "Секрет" под алыми, как заря, парусами. Грей, узнавший о "странных фантазиях" Ассоль, сделал её мечту явью.