Dziesięcioletni Karol Lew, zwany Sucharkiem, mieszkał wraz z mamą i starszym bratem, Jonatanem, w niewielkim mieszkaniu niedaleko ulicy Wiciokrzewu. Chłopiec był bardzo chory i od kilku miesięcy nie chodził do szkoły. Pewnego dnia przypadkowo podsłuchał rozmowę mamy z jedną z klientek i dowiedział się, że niedługo umrze. Wiadomość ta przeraziła go. Płacząc, zapytał brata, czy to prawda. Jonatan odpowiedział, że tak i pocieszył malca, mówiąc, że śmierć nie będzie straszna, ponieważ dzięki niej przeniesie się do Nangijali, gdzie będzie zdrowy i silny. Opowieść o baśniowej krainie zachwyciła Karola, lecz żałował, że nie będzie przy nim ukochanego brata. Jonatan obiecał, że pewnego dnia również zjawi się w Nangijali i poprosił, aby Sucharek przyleciał do niego jako śnieżnobiała gołębica.
Kilka dni później wydarzyło się coś nieoczekiwanego i to Jonatan jako pierwszy przeniósł się do Nangijali. W czasie nieobecności mamy w domu wybuchł pożar. Jonatan rzucił się na ratunek bratu i nie mając innej drogi ucieczki, wyskoczył przez okno, niosąc malca na plecach. Dzięki temu ocalił Karola, ale sam zmarł w wyniku odniesionych obrażeń. Jego nauczyciela, w liście zamieszczonym w lokalnej gazecie, nazwała go bohaterem i nadała mu przydomek Lwie Serce. Po śmierci Jonatana Sucharek czuł się bardzo samotny i często płakał. Pewnego wieczoru na oknie parapetu ujrzał białą gołębicę i domyślił się, że to Jonatan przyleciał z Nangijali, aby go pocieszyć.
Dwa miesiące później Karol otworzył oczy i ze zdumieniem stwierdził, że znajduje się w Nangijali, w Dolinie Wiśni. Stał przed niewielką furtką z napisem: „Bracia Lwie Serce”. Uszczęśliwiony, pobiegł nad rzekę, gdzie odnalazł Jonatana. Okazało się, że malec jest zupełnie zdrowy i może robić rzeczy, których nie potrafił, żyjąc na ziemi. Chłopcy spędzili wesoło dzień, pływając i wypoczywając. Potem Jonatan oprowadził braciszka po Zagrodzie Jeźdźców, w której mieli razem mieszkać i podarował mu konia, Fialara.
Następnego dnia bracia wybrali się na konną przejażdżkę. Na ścieżce, prowadzącej do wsi, spotkali Sofię. Kobieta ucieszyła się, widząc Karola. Wręczyła Jonatanowi koszyk z jedzeniem, prosząc, aby wieczorem zjawili się w „Złotym Kogucie”. Po powrocie do domu Sucharek zauważył, że brat wyjął z koszyczka niewielki zwitek papieru i ukrył go w skrytce za starym kredensem. Po zapadnięciu zmroku chłopcy udali się do karczmy na spotkanie z mieszkańcami Doliny Wiśni. Wszyscy serdecznie powitali Karola w Nangijali, a karczmarz Jossi wyraził nadzieję, że zostaną przyjaciółmi. Karol zauważył, że Sofia, obok której zasiedli przy stole, była smutna i zatroskana. Po kilku godzinach bracia Lwie Serce postanowili wrócić do domu. Na podwórzu przed gospodą spotkali rudobrodego Huberta, który nie wywarł na Sucharku pozytywnego wrażenia.
Jakiś czas później chłopcy wybrali się do królowej gołębi, jak żartobliwie Jonatan nazywał Sofię. Kobieta mieszkała w Zagrodzie Tulipanów i kiedy zjawili się, karmiła gołębie. Zasmucona, poinformowała Jonatana, że poprzedniego dnia w Parowie Wilków znalazła martwą gołębicę. Jonatan odparł, że to potwierdza jego przypuszczenia, iż w Dolinie Wiśni jest zdrajca. Potem zabrał się do pielenia ogródka, a Sofia oprowadziła Karola po swojej zagrodzie. Nagle, od strony gór, nadleciał gołąb i usiadł na jej ramieniu. W domu Sofia wyjęła spod skrzydła ptaka mały woreczek i odczytała ukrytą w nim wiadomość, po czym wykrzyknęła, że Orwar został pojmany. Jonatan wyjaśnił bratu, że ostatnio w Nangijali życie nie jest tak łatwe i przyjemne jak dawniej. W krainie była jeszcze jedna dolina, zwana Doliną Dzikich Róż, którą zagarnął zły władca Karmaniaki, Tengil.
Mieszkańcy Doliny Wiśni starali się pomagać zniewolonym ludziom, a Sofia kierowała walką konspiracyjną. Jedynie jej gołębie mogły przedostać się przez straż tyrana i przenosiły informacje. W drodze powrotnej do domu chłopcy spotkali Huberta, który był ciekaw, co robili u Sofii. Jonatan wyjaśnił, że pielili w ogrodzie. W nocy Karol spał niespokojnie. Nagle przebudził się i dostrzegł jakąś postać, stojącą w pobliżu kredensu. Intruz natychmiast zniknął, a obudzony Jonatan stwierdził, że był to zdrajca. Nazajutrz Jonatan poinformował Sucharka, że postanowił jechać do Doliny Dzikich Róż, aby uwolnić Orwara z Groty Katli. Kilka godzin później malec ze smutkiem pożegnał ukochanego brata. Zrozpaczony, dogonił go przy Zagrodzie Tulipanów. Wówczas Jonatan obiecał mu, że na pewno zobaczą się, jeśli nie w Nangijali, to w Nangilimie.
Minęło kilka dni. Karol z trudem znosił samotność i coraz bardziej tęsknił za Jonatanem. Pewnej nocy obudził się przerażony, przekonany, że słyszy wołanie brata. Sen utwierdził go w przeświadczeniu, że Jonatanowi grozi jakieś niebezpieczeństwo. Niezwłocznie przygotował się do podróży, na ścianie w kuchni zostawił wiadomość dla Sofii i pobiegł do stajni. Zdumiony, ujrzał Huberta, stojącego przy Fialarze. Mężczyzna podał mu kawał wędzonej baraniny, wyjaśniając, że malec pewnie nie ma teraz zbyt dużo jedzenia. Jego zachowanie wzbudziło podejrzenia Sucharka, który coraz bardziej był przekonany, że to Hubert jest zdrajcą. Pożegnał gościa dość oschle i o świcie wyruszył ścieżką, wiodącą w góry.
Jechał niestrudzenie przez cały dzień, a po zapadnięciu zmroku postanowił zatrzymać się na postój. Rozpalił ognisko i usiłował zasnąć, kiedy z lasu wyłoniło się stado wilków. Przewodnik stada skoczył w stronę chłopca i nagle padł martwy u jego stóp. Zza skały wyszedł Hubert, uśmiechnął się szyderczo i wyciągnął nóż. Sucharek, sądząc, że mężczyzna chce go zabić, zaczął krzyczeć, błagając, aby darował mu życie. Hubert, rozgniewany zachowaniem malca, odepchnął go i zaczął ściągać skórę w wilka. Karol pospiesznie odjechał, nie oglądając się za siebie. Po jakimś czasie dotarł do niewielkiej polany i odkrył w skale rozpadlinę, tworzącą grotę. Wprowadził do niej Fialara i strudzony zasnął. Obudził się, słysząc jakąś rozmowę. Na polanie dostrzegł dwóch mężczyzn i domyślił się, że są to żołnierze Tengila. Wkrótce zjawił się Jossi. Chłopiec, nie mogąc uwierzyć, że to karczmarz okazał się zdrajcą, zaczął przysłuchiwać się ich rozmowie. Ludzie Tengila wypalili na piersi Jossiego znak i zaczęli wypytywać go o spiskowców. Oberżysta obiecał, że zastawi pułapkę na Sofię i Huberta. Poradził, aby posłużyli się Karolem, wywabiając w ten sposób z ukrycia Jonatana Lwie Serce. Sucharek odetchnął z ulgą, słysząc, że brat żyje. Po jakimś czasie Jossi odjechał, a żołnierze Tengila odkryli obecność malca w grocie. Chłopiec skłamał, mówiąc, że mieszka wraz z dziadkiem w Dolinie Dzikich Róż. Mężczyźni kazali mu wskazać dom dziadka. Wkrótce przekroczyli bramę w murze, otaczającym dolinę. Karol czuł się jak w potrzasku, jadąc przodem i rozglądając się uważnie. Nagle dostrzegł białą chatkę i siedzącego przed nią staruszka, który karmił gołębie. Podbiegł do niego, błagając szeptem, aby mu pomógł. Staruszek przytulił go, wysłuchując krzyków i upomnień żołnierzy, a kiedy odjechali, zaprowadził malca do kuchni. Podszedł do starego kredensu, odsunął go, odsłaniając niewielki pokoik, w którym na podłodze spał Jonatan. Sucharek położył się obok brata i zasnął.
Po przebudzeniu bracia opowiedzieli o tym, co przeżyli od chwili rozstania. Jonatan wyznał, że widział Katlę. Wiadomość o zdradzie Jossiego zasmuciła go. Mateusz przyniósł jedną z gołębic i po zapadnięciu zmroku chłopcy przedostali się w pobliże muru, aby wypuścić ptaka z ostrzeżeniem dla Sofii. Po kolacji zaczęli kopać tunel, umożliwiający im wydostanie się z Doliny Dzikich Róż. Jonatan wyjaśnił bratu, że Mateusz stoi na czele podziemnej walki z Tengilem. Następnego dnia do doliny przybył z Karmaniaki Tengil. Wszyscy mieszkańcy zebrali się na rynku, gdzie okrutny władca wybrał spośród mężczyzn niewolników, którzy mieli zostać przewiezieni do jego twierdzy. Na spotkaniu zjawił się również przebrany za staruszka Jonatan. Na oczach wszystkich ludzi jeden z mężczyzn obraził tyrana i został stracony. Po powrocie do domu Jonatan ukradł pijanym strażnikom hełm i czarny płaszcz. Potem wyjawił Karolowi, że za kilka dni podejmie próbę uwolnienia Orwara. Malec postanowił, że będzie towarzyszył bratu w niebezpiecznej wyprawie.
W ciągu następnych dni żołnierze Tengila przeszukiwali każdy dom w Dolinie Dzikich Róż, starając się za wszelką cenę odnaleźć Jonatana Lwie Serce. Zjawili się również w chatce Mateusza i widząc dwa konie w stajni, zarekwirowali Fialara. Zrozpaczony Karol nie potrafił pogodzić się z utratą ukochanego konia. Wieczorem chłopcy wraz z Mateuszem po raz ostatni zasiedli do wspólnego posiłku. Jonatan powiedział, że żałuje, iż nie zna hasła umożliwiającego przejście przez bramę. Wówczas zapłakany Sucharek wypowiedział słowa, jakie usłyszał, kiedy Jossi zjawił się na polanie. Uradowany Jonatan pożegnał się i zniknął w tunelu. Jakiś czas później zjawił się człowiek Tengila, aby zabrać Fialara. Karol zaczął krzyczeć i nagle znalazł się w objęciach przybysza. Zdumiony, rozpoznał w nim brata. Jonatan pospiesznie wyprowadził konie i odjechał. W nocy Sucharek opuścił tunelem Dolinę Dzikich Róż. Przy wyjściu, w lesie, czekał już na niego Jonatan.
O świcie bracia Lwie Serce wyruszyli w dalszą drogę, kierując się w stronę Wodospadu Karma. Dotarli na miejsce wieczorem i weszli na most, łączący Nangijalę z Karmaniaką. Niespodziewanie rozpętała się burza i w blasku błyskawic Karolek dostrzegł potwornego smoka, Katlę. Przerażony, stracił przytomność. Kiedy ocknął się, Jonatan opowiedział, w jaki sposób Tengil został panem Katli. Smok przestał, ukryty w grocie, milion lat, aż pewnego dnia przebudził się i zaatakował twierdzę tyrana, zabijając swym oddechem wszystkich mieszkańców. Tengil, uciekając przed Katlą, zadął w róg, aby wezwać żołnierzy na pomoc. Wówczas potwór stał mu się posłuszny niczym pies i od tej pory słuchał każdego jego polecenia. Czasami Katla wychodziła ze swej jaskini i wpatrywała się w rzekę, szukając swego odwiecznego wroga Karmy, jak głosiła stara legenda.
Rankiem chłopcy przejechali przez most i dotarli do Groty Katli, w której uwięziony był Orwar. Odnaleźli sekretne przejście i zdołali wyprowadzić więźnia na kilka godzin przed wykonaniem wyroku śmierci. W parę minut później strażnicy odkryli ucieczkę Orwara i ruszyli w pościg. Szybko zaczęli doganiać braci, jadących razem na Grimie. Karol przekonał Jonatana, by zostawił go nad rzeką. Kiedy Orwar i Jonatan bezpiecznie przejechali przez most, ukrył się na wierzbie. Niespodziewanie, na skraju urwiska, dostrzegł Sofię, jadącą na koniu. Uradowany, zawołał ją i dopiero wtedy zorientował się, że kobiecie towarzyszą Jossi i Hubert. Sofia wyjaśniła, że Jossi ma wskazać im niestrzeżone przejście do Doliny Dzikich Róż. Zaproponowała, żeby malec pojechał z nimi. Karol nie zgodził się, mówiąc, że karczmarz jest zdrajcą. Powiedział, że ma na piersi znak wypalony przez żołnierzy Tengila. Sofia podeszła do Jossiego i rozdarła jego koszulę. Wówczas mężczyzna wyrwał się jej i wskoczył na maleńkiej łódki, stojącej przy brzegu. Wartki nurt rzeki zniósł go wprost do Wodospadu Karma.
Nadszedł dzień walki z Tengilem, przygotowany przez Orwara, Sofię i Jonatana. Karol, który podczas bitwy siedział w chacie Mateusza, był świadkiem wielu przerażających rzeczy. Widział walczących ludzi, wśród których jeździł Jonatan, zachęcając ich do walki. Nagle rozległ się ryk Katli i wszyscy ujrzeli Tengila, prowadzącego smoka. Ludzie stracili nadzieję, wiedząc, że teraz nie ma już dla nich ratunku.
Jonatan, widząc, że potwór rzuca się na bojowników, popędził wprost na Tengila i wyrwał z jego dłoni róg, po czym zadął w niego. Katla ruszyła na tyrana, zabijając go. Władca został pokonany, a mieszkańcy Doliny Dzikich Róż odzyskali upragnioną wolność. Wielu z nich zapłaciło za nią swym życiem, a wśród poległych byli również Hubert i Mateusz. Po bitwie Orwar poprosił Jonatana, aby zaprowadził Katlę do groty i przywiązał ją do złotego łańcucha. Bracia Lwie Serce wyruszyli w góry, prowadząc za sobą smoka. Nieoczekiwanie Katla zionęła ogniem tuż przy nogach Grima. Przerażony koń stanął dęba, wytrącając róg z rąk Jonatana. Smok, widząc, że chłopak nie ma już nad nim władzy, rzucił się na chłopców, lecz zdołali uciec i ukryli się wśród skał. Jonatan zepchnął na rozjuszone zwierzę ogromy głaz i Katla wpadła do Wodospadu Karma. Wtedy z wody wynurzył się olbrzymi wąż i pochwyciwszy smoka, wciągnął go w ciemną otchłań.
Zmęczeni bracia przejechali przez most, opuszczając nieprzyjazną Karmaniakę. Postanowili odpocząć, widząc, że ich konie nie mają sił, aby jechać dalej. Karol ze smutkiem myślał o Mateuszu, zastanawiając się, gdzie teraz przebywa. Jonatan wyjaśnił, że staruszek jest w Nangilimie. Potem wyznał, że jeden ze śmiertelnych płomyków z ognia Katli poparzył go, powodując paraliż. Wiedział, że niedługo nie będzie mógł w ogóle poruszać się i postanowił odejść do Nangilimy. Zrozpaczony Sucharek wykrzyknął, że nie chce zostać sam w Nangijali. Potem wziął brata na plecy i skoczył w przepaść. W chwilę później ujrzeli jasne światło Nangilimy.