Alex (Louis Serkis) é um garoto que enfrenta problemas no colégio, por sempre defender o amigo Bedders (Dean Chaumoo) dos valentões Lance (Tom Taylor) e Kaye (Rhianna Dorris). Um dia, ao fugir da dupla, ele se esconde em um canteiro de obras abandonado. Lá encontra uma espada encravada em uma pedra, da qual retira com grande facilidade. O que Alex não sabia era que a espada era a lendária Excalibur e que, como seu novo portador, precisa agora enfrentar a meia-irmã do rei Arthur, Morgana (Rebecca Ferguson), que está prestes a retomar seu poder. Para tanto, ele conta com a ajuda do mago Merlin (Angus Imrie), transformado em uma versão bem mais jovem.