В середине XIX века Канзас становится местом кровопролитной борьбы за будущее рабства в Америке. Юный Генри Шеклфорд живёт у хозяина, которому принадлежит и его отец. Однажды в поселение приезжает Джон Браун, религиозный противник рабовладения. Разговор с хозяином заканчивается стрельбой. Отец Генри погибает, а Браун увозит мальчика с собой, ошибочно решив, что спас девочку. Генри получает прозвище Луковка и из страха не решается объяснить новому покровителю правду. В отряде Брауна собраны его сыновья, беглые рабы и добровольцы, готовые сражаться с рабовладельцами. Их предводитель постоянно молится, цитирует Священное Писание и верит, что обязан уничтожить рабство любой ценой. Генри становится свидетелем налётов, вооружённых столкновений и смерти людей, которых едва успевает узнать. Он мечтает о спокойной жизни, но рядом с Брауном события развиваются слишком быстро, чтобы самому выбирать дорогу. Когда Генри и беглый раб Боб отделяются от отряда, их задерживают сторонники рабства. Путников приводят в город Пайксвилл, где Генри отправляют прислуживать в гостинице. Здесь он знакомится с Пай, которая помогает ему скрывать правду о себе и учит читать. Генри наблюдает за жизнью невольников и узнаёт, что некоторые готовят восстание. План раскрывается, его организаторов казнят, а город погружается в страх. Нападение людей Брауна позволяет Генри и Бобу снова обрести свободу. Браун убеждён, что отдельными налётами добиться перемен невозможно. Он ездит по городам, собирает деньги и пытается заручиться поддержкой влиятельных противников рабства. Генри сопровождает его на встречу с Фредериком Дугласом. Тот разделяет стремление Брауна освободить рабов, но считает его планы слишком рискованными. Разногласия не останавливают старика. Он собирается подготовить масштабное восстание, которое должно изменить положение людей на юге страны. По дороге к новым сторонникам Генри устаёт от постоянной опасности и требует возможности жить самостоятельно. Браун не удерживает его силой. Однако выступление Гарриет Табмен заставляет подростка иначе посмотреть на борьбу, в которой он оказался. Генри остаётся с отрядом и вскоре узнаёт о подготовке нападения на оружейный склад в Харперс-Ферри. Захватив тысячи винтовок, Браун рассчитывает вооружить рабов и начать освободительный поход. Генри отправляется в окрестности города вместе с Джоном Куком, чтобы подготовить убежище и найти добровольцев. Позднее приезжают остальные участники отряда и семья Брауна. Генри испытывает чувства к его дочери Энни и впервые задумывается о будущем, не связанном с побегами. Но подозрения местных жителей вынуждают заговорщиков действовать раньше времени. В ночь нападения они захватывают арсенал и нескольких заложников, надеясь дождаться подкрепления. План начинает рушиться почти сразу. Из-за ошибки Генри один из участников отряда не узнаёт согласованного сигнала, и вооружённые люди убивают железнодорожного служащего. Ожидаемые добровольцы не приходят. Вскоре вокруг арсенала собираются местные ополченцы и федеральные солдаты. Браун отказывается отступать, даже когда теряет бойцов и понимает, что победить уже невозможно. Генри удаётся выбраться, а предводителя восстания захватывают живым. После разгрома отряда Генри узнаёт, что Брауна приговорили к повешению. Он рискует свободой, чтобы увидеть его перед казнью. Во время разговора юноша раскрывает тайну своего пола и понимает, что для Брауна она никогда не имела значения. Они прощаются, и Генри уходит, теперь уже без чужого имени и женского платья. Смерть Джона Брауна становится известна всей стране, а пережитые события навсегда меняют представление Генри о свободе и цене борьбы за неё.