Alex is a twelve year old boy, just starting secondary school in a London suburb. When his best friend Bedders is bullied by older students, Lance and Kaye, Alex comes to his aid. Alex, Lance, and Kaye are given detention by the headmistress.
Lance and Kaye plot to harm Alex. That night, the duo chase Alex as he heads home, but Alex hides in a nearby construction site, where he finds and extracts a mysterious sword embedded in concrete. Later showing it to Bedders, they discover that its markings identify it as Excalibur, the sword of King Arthur. Alex then playfully “knights” Bedders.
The wicked sorceress Morgana awakens underground and sends her Mortes Milles demons after Excalibur. The next day, a teenager appears from inside Stonehenge and presents himself at Alex’s school as a new student. The boy reveals himself to Alex as the wizard Merlin, capable of aging backward, but will occasionally shift into his elder Arthurian form. Alex plans to return the sword, wanting nothing to do with ancient myths. That night, Merlin saves Alex from a demon and explains that he has four days to destroy Morgana, or she will enslave all of England.
The Mortes Milles only appear at night and can only be seen by Alex and those he has knighted, but an upcoming total solar eclipse will enable her to emerge fully into the world. Alex realizes that these events parallel an inscribed storybook his estranged father once gave him. Alex concludes he descends from Arthur through his father and later recruits and knights Lance and Kaye, who fight beside Alex and Bedders, defeating three demons. Alex declares them a new Round Table. Merlin soon tasks Alex to find the entrance of Morgana’s Underworld prison.
Alex leads the group to Tintagel, where he last saw his father. En route, Merlin trains them in swordsmanship. But when Morgana infiltrates the lesson, Lance betrays Alex and takes the sword for himself. Merlin barely saves them, and Excalibur is destroyed when Alex and Lance come to blows in a marsh. As Lance and Kaye start to leave, Alex calls upon the Lady of the Lake, whose arm emerges from the water and restores the sword.
Resolving their differences and rededicating themselves to the quest, the four overcome a horde of demons by luring them over a cliff. Arriving at Tintagel, Alex meets his aunt Sophie who tells him that his father was an alcoholic who abandoned Alex and his mother, Mary. Sophie reveals that it was Mary who inscribed the book, which enrages Alex, feeling his mother is a liar, and he has come a long way for nothing. Merlin stops him, telling Alex that Excalibur is not handed down by birthright, but by individual merit.
Alex and his friends arm themselves, and Alex uses the storybook to locate the entrance to the Underworld. Alex challenges Morgana, who takes on a monstrous form and breathes fire, but Alex strikes her down, and the children escape. Believing Morgana is dead, Alex returns Excalibur to the Lady of the Lake, knowing that the police would likely confiscate it and makes up a story for his mother.
On the day of the eclipse, Merlin informs Alex that Morgana was merely wounded, and Alex realizes that he violated the Chivalric Code by lying to his mother. In desperation, Alex tells her everything that has happened, then stuns her by summoning the Lady of the Lake into the bathtub, where he regains Excalibur.
At the school, Merlin enchants the faculty, and Alex knights the entire student body. During the eclipse, Morgana – in a huge, semi draconic form – appears with the entire Mortes Milles. The children fight back, using strategies combining medieval warfare with modern technology. Merlin casts a magic spell to pull Morgana from the world, and Alex decapitates her as she vanishes, dispelling all the demons. Alex, Bedders, Lance, and Kaye bid farewell to Merlin, who encourages them to become leaders. Alex once again returns the sword to the Lady of the Lake.