L’ultima legione si conclude con Ambrosinus – che si è riappropriato del suo nome di Merlino – che narra a un giovane Artù gli eventi successivi alla battaglia contro Vortgyn. Aurelio e Mira si sposano e si prenderanno cura di Romolo come fosse il loro vero figlio. Egli regnerà con saggezza sulla Britannia, con Igraine al suo fianco. I due avranno un erede: Artù.
476 d.C. Il druido Ambrosinus (Ben Kingsley) viene nominato tutore dell’ imperatore-bambino Romolo Augusto (Thomas Sangster), da poco incoronato. Il giorno prima dell’incoronazione, il generale dei Goti Odoacre (Peter Mullan) e il padre del giovane, Oreste (Ian Glen), reggente dell’impero romano, hanno una discussione sul fatto che quest’ultimo non abbia rispettato il patto di concessione di un terzo dell’Italia allo stesso comandante. In questo modo riceve una minaccia d’invasione. Quello stesso giorno, il piccolo imperatore conosce il capo militare Aureliano Caio Antonio (Colin Firth), chiamato Aurelio, proveniente dalla remota regione della Britannia. La notte successiva alla cerimonia, i Goti saccheggiano Roma e Romolo Augusto finisce nelle loro mani.
Divenuto imperatore dell’Impero Romano d’Occidente, Odoacre pianifica l’uccisione del giovane, ma Ambrosinus intercede affinché gli sia risparmiata la vita. Vengono entrambi esiliati a Capri. Successivamente liberati da Aurelio e dalla guerriera Mira (Aishwarya Rai), i fuggitivi si dirigono verso la città di Fano per far imbarcare il piccolo imperatore verso Costantinopoli, ma l’intero piano si rivela una trappola. Costretti a dirigersi verso la Britannia, il gruppo spera di poter trovare la posizione della leggendaria nona legione. Ma una volta arrivati nei pressi del vallo di Adriano, vi trovano solamente dei vecchi contadini. Nel frattempo, Romolo fa la conoscenza di Igraine (Alexandra Thomas-Davies).
Raggiunti dalle forze di Wulfila (Kevin McKidd) e del vecchio nemico del druido, Vortgyn (Harry Van Gorkum), il villaggio dove si trova il gruppo viene distrutto come prova di forza. E Igraine viene presa in ostaggio. Aurelio prende la decisione di attaccare direttamente le forze di Vortgyn, sebbene sia al comando di pochi uomini. Le forze romane riescono ad avere una vittoria schiacciante grazie all’aiuto dei vecchi soldati della nona legione. Ma il comandante viene ferito durante i combattimenti. Alcuni anni dopo, Ambrosinus, che ora si fa chiamare Merlino, conduce un giovane Arthur Pendragon (Rory Finn) sul campo di battaglia dove si svolse la leggendaria battaglia, narrando la sua discendenza.