XIII век. Карпатское село живёт независимо и вольно, однако появляется боярин и считает себя полноправным хозяином края. Селяне не покоряются и побеждают боярина, объединившегося с монголами.
В карпатское село Тухля приезжает боярин Тугар Волк. Князь Даниил даровал ему эти земли. Волк отправляется охотиться на медведей с гостями и смелой красавицей-дочерью Мирославой. Она получила мужское воспитание, обладает сильным духом и владеет навыками настоящего рыцаря. «Вот девушка! Такой бы подстать мужчиной быть» — восхищаются тухольцы, увидев её. Проводником бояре берут Максима Беркута, сына авторитетного в сельской общине старца Захара.
Во время охоты Мирослава проваливается в логово медведицы. В решающую минуту от смерти её спасает Максим. В знак благодарности девушка горячо сжимает руку спасителя. Молодые люди очарованы друг другом.
Максим Беркут ведёт Тугара и Мирославу своим селом. Тухля находится в долине, окружённой со всех сторон скалами, в своеобразном котле. Сюда водопадом падает горный ручей, «извиваясь ужом по долине». Юноша рассказывает об общинном суде: на него собираются почтенные старцы села. Беркут зовёт и Тугара Волка. Но боярин считает оскорбительным быть равным смердам и не хочет приходить на суд.
В ущелье они видят Сторожа — огромный камень-столб, тухольскую святыню. Максим рассказывает легенду о нём. Когда-то на месте села было огромное озеро, власть над которым имела богиня смерти Морана. В нём не было ничего живого. Однажды царь великанов поссорился с Мораной, разбил окружающие озеро скалы, вся вода из него вытекла и потеряла свою силу. Тогда богиня смерти обратила царя в этот камень. Теперь он охраняет долину.
Максим осмеливается просить руки Мирославы у её отца. Волк приходит в ярость: он считает оскорблением наглость холопа. Максим отвечает ему:
Слишком высоко поднялся ты на крыльях гордости, но берегись! Судьба обычно наиболее высоко возносит тех, кого собирается ниже всех столкнуть.
Девушка клянётся перед солнцем, что будет с Максимом и целует его. Боярин ошеломлён, но на дочь не обрушивает своего гнева.
«Захар Беркут был седой, как голубь, старец, самый старший во всей тухольской общине; ему было более девяноста лет… Высокого роста, величавый, со строгим лицом…» В юности он много ходил по другим краям, наблюдал за обычаями и нравами, узнал лекарское дело и много лет уже безошибочно подбирает целебные травы. Три года провёл он в скитском монастыре. Захар окреп умом и духом и вернулся в родное село не только врачом, но и гражданином. К Захаровому слову прислушиваются даже в других сёлах, живущих вольно, подобно Тухле.
Но такое положение боярам крайне не нравилось; они ждали прихода войны, словно невесть какого праздника, ибо тогда им улыбалась надежда — сразу захватить власть в свои руки…
Вот и теперь на общинном суде присутствует старец. Много дел натворил в их крае Тугар Волк. Не желая признавать независимый образ жизни тухольцев, боярин пытался показать свою власть и превосходство над ними. Жестокое наказание лесничего становится пределом терпения людей.
На суде старцы призывают пришедшего к ним Тугара признать их вольными людьми или оставить край. У них и так есть враг — приближается монгольская орда, захватывающая и уничтожающая всё на своём пути. Волк предлагает тухольцам объединиться с ним против врага. Он опытный и смелый боец: участвовал в междуусобных войнах и уже бился против монголов на реке Калка. Но среди селян находится калека, обличающий ложь боярина. Тухолец воевал вместе с Волком. Тугар убивает калеку топором на глазах общины, не дав раскрыть тайну. Община обещает выгнать боярина из своего края.
Волк с дочерью прибывает в лагерь монголов. Тугар знает их язык и обещает помощь в завоевании края: он проведёт их безопасным коротким путём. Мирослава с ужасом понимает, что её любимый отец — предатель родины, а знание монгольского языка свидетельствует о том, что предательство это не первое. Волк уходит вечером с войском, обещая дочери не убивать Максима.
Максим же с другими молодцами приходит в усадьбу боярина. Тухольцы объединяются против Тугара с его воинами. Тут на них нападают монголы во главе с Волком. Они перебивают всех, кроме Беркута: зная, что неволя для Максима хуже смерти, боярин берёт его в плен.
В Тухле уже знают о кровавой битве. Появляется Мирослава и рассказывает план Максима: людям надо уйти из села, не оставив там крошки хлеба, и закрыть выход из котловины монголам. Только так они смогут победить.
Как только враг заходит в долину, селяне забрасывают выход камнями. Войско пытается забраться по скалам, но тухольцы дают им отпор. Охраняют русины и все лесные тропы. Монголы сжигают село, опасаясь нападения тухольцев с крыш домов. Мирослава пробирается во вражеский лагерь — здесь её отец и Максим. От монгольского военачальника девушка получила перстень Мстислава, добытый в битве на Калке. С ним её везде пропускают. Максим, увидев любимую, загорается желанием жить.
Тугар идёт на переговоры к Захару. Ненависть Волка к Максиму постепенно угасает, её заменяет восхищение непоколебимостью духа и честностью молодца. Боярин просит в обмен на Максима выпустить их из котловины. Захар отказывается. Старец понимает, что жизнь одного человека он не может променять на жизни целых сёл, на которые собираются нападать монголы. Мирослава в отчаянии. Тухольцы придумывают ещё один план: они валят Сторожа и строят стену из камней: эта стена загораживает выход воде из источника. Теперь она будет собираться в долине.
Разгадав их план, Максим надеется спастись, заключив уговор с начальником монгольского войска. Только когда вода уже прибывает в долину, он показывает тайный ход в лес, где сейчас находятся тухольцы. Но вода заливает прорытый ход. Воевода не отпускает Максима: хоть молодец не обманул, выйти монголы всё равно не могут. Вражеское войско строит площадки из камней, которыми их атаковали тухольцы, чтобы потом спастись на них. Но когда долина полностью заполняется водой, это не помогает. Одни тонут, других захлёстывает водоворот, третьи убивают друг друга за место на камнях. Монгольский начальник снова предлагает обменять Максима на остатки своего войска, но Захар, понимая, какой страшной будет месть монгола с новым войском, отказывается. Воевода хочет зарубить Максима топором, но Тугар спасает юношу. Монгольский начальник и Максим падают в воду. По оставшейся части врагов Захар запускает огромный камень, и на площадке не остаётся никого.
Максим спасается. Захар благословляет счастливых Мирославу и Максима. Захар чувствует, что пришёл его час и перед смертью говорит напутственное слово:
Сегодняшняя наша победа — великое дело для нас… пока вы будете жить общинным строем, дружно держаться вместе, несокрушимо стоять все за одного и один за всех — до той поры никакая вражья сила не победит вас.
Захар предсказывает худые времена для народа: «Откажется брат от брата, отречётся сын от отца, и начнутся великие распри и раздоры в русской земле, …и тогда попадёт весь народ в неволю к чужим и своим насильникам, и они сделают его покорным слугой своей прихоти и рабочим волом… Но раньше ли, позже ли, он припомнит жизнь своих предков и пожелает пойти по их стопам… Это будут прекрасные дни, дни весны, дни возрождения народного!»