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