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