Одного разу в місті Енську, на березі річки, був знайдений мертвий листоноша і сумка з листами. Тітка Даша щодня читала своїм сусідам вголос по одному листу. Особливо запам'яталися Сані Григор'єва рядки про далеких полярних експедиціях ...
Саня живе в Енську з батьками і сестрою Сашею. За безглузду випадковість Санін батька звинувачують у вбивстві і заарештовують. Про сьогодення вбивці знає тільки маленький Саня, але через німоти, від якої лише пізніше позбавить його чудовий доктор Іван Іванович, він нічого не може зробити. Батько вмирає в тюрмі, через якийсь час мати виходить заміж. Вітчим виявляється жорстоким і підлою людиною, який мучить і дітей, і дружину.
Після смерті матері тітка Даша і сусід Сковородников вирішують відправити Саню з сестрою в притулок. Тоді Саня і його друг Петя Сковородников біжать в Москву, а звідти - в Туркестан. «Боротися і шукати, знайти і не здаватися» - ця клятва підтримує їх в дорозі. Хлопчики пішки добираються до Москви, але Петькін дядько, на якого вони розраховували, пішов на фронт. Після трьох місяців майже безкоштовної роботи у спекулянтів їм доводиться ховатися від перевірки. Петьке вдається втекти, а Саня потрапляє спочатку в розподільник для безпритульних, звідти - в школу-комуну.
Сані подобається в школі: він читає і ліпить з глини, у нього з'являються нові друзі - Валька Жуков і Ромашка. Одного разу Саня допомагає донести сумку незнайомій бабусі, яка живе в квартирі завідувача школою Миколи Антоновича Татаринова. Тут же Саня зустрічає Катю, гарненьку, але кілька схильну «задаватися» дівчинку з косичками і темними живими очима. Через деякий час Саня знову опиняється в знайомому будинку Татаріновим: його посилає туди за лактометром, приладом для перевірки складу молока, Микола Антонович. Але лактометр вибухає. Катя збирається взяти провину на себе, але гордий Саня не дозволяє їй це зробити.
Квартира Татаринова стає для Сани «чимось на зразок печери Алі-Баби з її скарбами, загадками і небезпеками». Ніна Капітоновна, якої Саня щосили допомагає по господарству і яка годує його обідами, - «скарб»; Маріє Василівно, «ні вдова, ні чоловікова дружина», яка завжди ходить в чорній сукні і часто занурюється в тугу, - «загадка»; а «небезпека» - Микола Антонович, як з'ясувалося, двоюрідний дядько Каті. Улюблена тема оповідань Миколи Антоновича - двоюрідний брат, тобто чоловік Марії Василівни, про який він «все життя дбав» і який «виявився невдячним». Микола Антонович уже давно закоханий в Марію Василівну, але поки та «безжальна» до нього, швидше за її симпатію викликає іноді приходить в гості вчитель географії Корабльов. Хоча, коли Корабльов робить Марії Василівні пропозицію, він отримує відмову. У той же день Микола Антонович збирає будинку шкільна рада, де Корабльов різко засуджується. Вирішено обмежити діяльність вчителя географії - тоді він образиться і піде, Саня повідомляє Корабльова про все почуте, але в результаті Микола Антонович виганяє Саню з дому. Ображений Саня, запідозривши Корабльова в зраді, покидає комуну. Проблукавши по Москві цілий день, він абсолютно разболевается і потрапляє в лікарню, де його знову рятує доктор Іван Іванович.
Минуло чотири роки - Сані сімнадцять років. У школі йде уявлення інсценованого «суду над Євгеній Онєгін», саме тут Саня знов зустрічає Катю і розкриває їй свою таємницю: вже давно він готується стати льотчиком. Саня нарешті дізнається від Каті історію капітана Татаринова. У червні дванадцятого року він, заїхавши в Енськ попрощатися з сім'єю, вийшов на шхуні «Св. Марія »з Петербурга до Владивостока. Експедиція не повернулася.Марія Василівна безрезультатно посилала прохання про допомогу царю: вважалося, що якщо Татаринов загинув, то з власної вини: він «недбало звертався з казенним майном». Сім'я капітана переїхала до Миколі Антоновичу. Саня часто зустрічається з Катею: вони разом ходять на каток, в зоопарк, де Саня раптом стикається зі своїм вітчимом. На шкільному балу Саня і Катя залишаються наодинці, але їх розмови заважає Ромашка, який потім про все доповідає Миколі Антоновичу. Саню більше не приймають у Татаринова, а Катю відправляють до тітки в Енськ. Саня б'є Ромашку, виявляється, і в історії з Корабльовим саме він зіграв фатальну роль. І все ж Саня розкаюється у своєму вчинку - з важким почуттям він їде в Енськ.
У рідному місті Саня знаходить і тітку Дашу, і старого Сковороднікова, і сестру Сашу, він дізнається, що Петька теж живе в Москві і збирається стати художником. Ще раз Саня перечитує старі листи - і раптом розуміє, що вони прямо відносяться до експедиції капітана Татаринова! З хвилюванням Саня дізнається, що не хто інший, як Іван Львович Татаринов, відкрив Північну землю і назвав її на честь своєї дружини Марії Василівни, що саме з вини Миколи Антоновича, цього «страшного людини», більша частина спорядження виявилася непридатною. Рядки, в яких прямо названо ім'я Миколи, розмиті водою і збереглися лише в пам'яті Сани, але Катя вірить йому.
Саня твердо і рішуче викриває Миколи Антоновича перед Марією Василівною і навіть вимагає, щоб саме вона «пред'явила обвинувачення». Тільки потім Саня розуміє, що ця розмова остаточно убив Марію Василівну, переконав її в рішенні накласти на себе руки, адже Микола Антонович до того часу вже був її чоловіком ... Лікарям не вдається врятувати Марію Василівну: вона вмирає. На похоронах Саня підходить до Каті, але та відвертається від нього. Миколі Антоновичу вдалося переконати всіх в тому, що мова в листі йшла зовсім не про нього, а про якийсь «фон Вишімірском» і що Саня винен у смерті Марії Василівни. Сані залишається тільки посилено готуватися до вступу в льотну школу, щоб коли-небудь знайти експедицію капітана Татаринова і довести свою правоту. Останній раз побачившись з Катею, він їде вчитися в Ленінград. Він займається в льотній школі і одночасно працює на заводі в Ленінграді; в Академії мистецтв навчаються і сестра Саша, і її чоловік Петя Сковородников. Нарешті Саня домагається призначення на Північ. У місті Заполяр'я він зустрічається з доктором Іваном Івановичем, той показує йому щоденники штурмана «Св. Марії »Івана Климова, який помер в 1914 році в Архангельську. Терпляче розшифровуючи записи, Саня дізнається про те, що капітан Татаринов, відправивши людей на пошуки землі, сам залишився на кораблі. Штурман описує тяготи походу, із захопленням і повагою відгукується про свого капітана. Саня розуміє, що сліди експедиції потрібно шукати саме на Землі Марії.
Від Валі Жукова Саня дізнається про деяких московських новинах: Ромашка став «найближчою людиною» у будинку Татаріновим і, здається, «збирається одружуватися на Каті». Саня постійно думає про Катю - він вирішує поїхати в Москву. А поки вони з доктором отримують завдання летіти в глухе становище Ванокан, але потрапляють в пургу. Завдяки вимушеній посадці Саня знаходить багор з шхуни «Св. Марія ». Поступово з «осколків» історії капітана складається струнка картина.
У Москві Саня планує виступити з доповіддю про експедицію. Але спочатку з'ясовується, що Микола Антонович уже частково випередив його, надрукувавши статтю про відкриття капітана Татаринова, а потім той же Микола Антонович зі своїм помічником Ромашкою публікують в «Правді» наклеп на Саню і тим самим домагаються скасування доповіді. Іван Павлович Корабльов багато в чому допомагає Сані і Каті. При його сприянні у відносинах між молодими людьми зникає недовіру: Саня розуміє, що Каті намагаються нав'язати шлюб з Ромашкою. Катя залишає будинок Татаринова. Тепер вона геолог, начальник експедиції.
Незначний, але тепер кілька «споважнілий» Ромашка веде подвійну гру: він пропонує Сані докази провини Миколи Антоновича, якщо той відмовиться від Каті. Саня ставить про це до відома Миколи Антоновича, але той вже не в силах протистояти спритному «асистентові». За допомогою Героя Радянського Союзу льотчика Ч. Саня все ж отримує дозвіл на експедицію, в «Правді» друкують його статтю з витягами з щоденника штурмана. А поки він повертається на Північ.
Експедицію знову намагаються скасувати, але Катя проявляє рішучість - і ось навесні вони з Сашком повинні зустрітися в Ленінграді, щоб готуватися до пошуків. Закохані щасливі - білими ночами вони гуляють по місту, весь час займаються підготовкою до експедиції. Саша, Саніна сестра, народила сина, але раптово її стан різко погіршується - і вона вмирає. Експедиція з незрозумілої причини скасовується - Сані дають зовсім інше призначення.
Проходить п'ять років. Саня і Катя, тепер Татаринова-Григор'єва, живуть то на Далекому Сході, то в Криму, то в Москві. Врешті-решт вони поселяються в Ленінграді разом з Петром, його сином і Катиной бабусею. Саня бере участь у війні в Іспанії, а потім відбуває на фронт. Одного разу Катя знову зустрічає Ромашку, і той розповідає їй про те, як він, рятуючи пораненого Саню, намагався вибратися з оточення німців і як Саня пропав. Катя не хоче вірити Ромашці, в цей важкий час вона не втрачає надії. І дійсно Ромашка бреше: насправді він не врятував, а кинув тяжко пораненого Саню, відібравши у нього зброю і документи. Сані вдається вибратися: він лікується в госпіталі, а звідти відправляється в Ленінград на пошуки Каті.
У Ленінграді Каті немає, зате Саню запрошують летіти на Північ, де вже теж йдуть битви. Саня, так і не знайшовши Катю ні в Москві, де він просто розминувся з нею, ні в Ярославлі, думає, що вона в Новосибірську. Під час успішного виконання одного з бойових завдань екіпаж Григор'єва здійснює вимушену посадку недалеко від того місця, де, на думку Сани, потрібно шукати сліди експедиції капітана Татаринова. Саня знаходить тіло капітана, а також його прощальні листи і звіти. А повернувшись в Полярний, у доктора Павлова Саня знаходить і Катю.
Влітку 1944 р Саня і Катя проводять відпустку в Москві, де бачаться з усіма друзями. Сані потрібно виконати дві справи: він дає свідчення у справі засудженого Ромашова, а в Географічному суспільстві з великим успіхом проходить його доповідь про експедицію, про відкриття капітана Татаринова, про те, через кого ця експедиція загинула. Микола Антонович з ганьбою виганяється із залу. У Енську сім'я знову збирається за столом. Старий Сковородников в своїй промові об'єднує Татаринова і Саню: «такі капітани рухають вперед людство і науку».