Időszámításunk szerint 140-ben, a római birodalom kiterjeszti határait egészen Britanniáig. Kaledónia területén a rebellis törzsek még tartják magukat. Marcus Aquila (Channing Tatum) megérkezik Britanniába, feltett szándéka, hogy visszaállítsa apja, Flavius Aquila megtépázott hírnevét. 20 évvel korábban, Róma 5000 főből álló kilencedik légiója Flavius vezetésével, a légió szimbólumát, a kilencesek sasát magasban hordozva vonult be Kaledóniába. Sosem tértek vissza. A légió, és a szimbólum eltűnt az ismeretlenség ködében. Hadrianus, a római birodalom császára dühében egy falat építtetett a terület köré, ez a fal a római birodalom északi részének határát, az ismert világ határait jelzi.
Marcus célja, hogy kiváló harcossá váljon. Célkitűzésének elérését segíti legújabb megbízatása: dél-nyugaton egy kisebb erőd ostrománál vezeti bátran csapatát. Róma kitünteti a bátorságáért, de komoly sérülései miatt leszerelik a seregből, így Marcus kénytelen nagybátyja, Aquila (Donald Sutherland) falujában lábadozni. Amikor Marcus ösztönösen megkíméli egy ifjú briton életét egy gladiátor küzdelemben, Aguila megvásárolja az Esca (Jamie Bell) névre hallgató ifjút, hogy rabszolgaként szolgálja Marcust. Marcus elutasítóan viselkedik a szolgájával, aki szemmel láthatóan mindent gyűlöl, aminek köze van a római birodalomhoz. Ennek ellenére esküt tesz, hogy hű szolgája lesz a férfinak, aki megkímélte az életét. Miután meghallja, hogy a sast egy északi törzsi templomban látták feltűnni, Marcus elindul és Esca segítségével Hadrianus fala felé veszi az irányt. Kaledónia fennsíkjai számos veszélyt tartogatnak, ezért Marcus kénytelen a területet jól ismerő rabszolgájára hagyatkozni. Amikor egy Guern (Mark Strong) nevű egykori római katonával találkoznak, Marcus ráébred, hogy apjának titokzatos eltűnése valahogyan kapcsolódhat a rabszolgájának személyéhez, és hűségéhez. A titok akkor válik igazán nyomasztóvá, amikor kettejüknek szembe kell szállni a rettegett Seal herceggel (Tahar Rahim).