Etain the mute scout (Olga Kurylenko) betrays the legion and leads them into a trap, where giant haystacks and an army of Celts massacre the legion - they capture the General and murder any survivors - except several of the injured men manage to escape, including Quintus Dias (Fassbender) and Thax (JJ Feild) -- and a chef who is the best warrior of them all!
The soldiers follow the Picts to their camp but are unable to rescue the General. When the alarm is raised, the soldiers make their escape - but someone has murdered the warrior chief's son. Seeking a blood vengeance, the chief murders the mighty General and then summons his best warriors to chase the Romans who must now flee across tough terrain back to the safety of The Wall.
Slowly they die one by one, not helped by their theory to stick to high ground up in the snow-capped Highlands, until they split up into 2 groups - Dias and 2 friends, and in the other is Thax and Macros, the runner.
Dias seeks help from a local 'witch' Adrianne (Imogen Poots) who has been banished by the Celtic chieftain for a crime she hasn't committed, and just uses the witch facade to scare away Celts and Romans from her home. She feeds the men and buys them some time from the pursuers.
Thax, chased by a pack of wolves, pretends to be hurt - then stabs Macros after he has returned to help him so he can get away.
Dias and his two friends make it to a frontier fort, but the fort has been deserted. With the enemy just outside they prepare for a mighty battle, and manage to kill the rest of the bad guys (including the chieftain and poor scout) losing only the old guy in the process.
Almost approaching safety, and caught up now by Thax, Quintus knows that it was Thax who murdered the boy and almost got them killed. The fight before they reach the Wall, and Thax dies. The other soldier rides towards the Wall - but is mistaken for a Celt and killed.
Quintus approaches a little slower and is taken in. The Generals meet to discuss the fall of the Ninth Legion - and decide to wipe out the name from the history books rather than to affect the morale of the troops - and have no choice but to kill Quintus. He escapes and goes back to the one place he feels safe - back to Adrianne's house.