In 507, the legendary Geatish warrior Beowulf travels to Denmark with his band of soldiers including his best friend Wiglaf to help King Hrothgar, who needs a hero to slay Grendel, a hideously malformed troll-like creature with appalling strength and cunning who attacked and killed many of Hrothgar's warriors during a celebration in the mead hall Heorot. Upon arriving, Beowulf becomes attracted to Hrothgar's wife Queen Wealtheow.
Beowulf and his men celebrate in Heorot to lure Grendel out. When the beast attacks, Beowulf decides to have an even fight and engages him unarmed and naked. During the fight, Beowulf discovers that Grendel has hypersensitive hearing and ruptures the creature's eardrum. Grendel shrinks in size and manages to escape only after Beowulf severs his arm, mortally wounding him. In thanks for freeing his kingdom from the monster, Hrothgar gives Beowulf his golden drinking horn, which commemorates Hrothgar's victory over the mighty dragon Fafnir.
In his cave, Grendel's mother swears revenge over his corpse. She travels to Heorot and slaughters Beowulf's men in the night. Hrothgar tells both Beowulf and Wiglaf that Grendel's mother is the last of the Demons. Hrothgar's adviser, Unferth, offers Beowulf his sword Hrunting to slay Grendel's mother. Beowulf and Wiglaf then travel to the demon's cave, where Beowulf enters alone and encounters the demon, who takes the form of a beautiful, gold-covered naked woman. He tries to kill her with Hrunting but fails due to her magic; instead, she seduces him with promises to make him king in exchange for the drinking horn and a son to replace Grendel, which Beowulf agrees to when they both kiss.
Afterwards, Beowulf returns to Heorot with Grendel's head and announces he has killed his mother the demon. He recounts embellished stories of a fight, claiming he left the sword impaled in the body of Grendel's mother and lost the golden drinking horn in the battle. Hrothgar speaks to Beowulf privately, and asks if he truly killed Grendel's mother. Despite Beowulf's boasting and calling Grendel's mother a 'hag', Hrothgar is not fooled and indirectly reveals he had been seduced by the demon, and Grendel was the result of their tryst. Hrothgar says all that matters is that Grendel is dead and the curse of Grendel's mother is no longer his to bear. Beowulf then realizes that the curse had been passed unto him after his affair with the demon. Hrothgar declares Beowulf to be king upon his death and he then commits suicide by jumping from the castle parapet onto the beach below. Grendel's mother appears as a gold light in the surf, and drags Hrothgar's corpse into the sea as the crowd kneels to King Beowulf.
Years later, the elderly Beowulf is the estranged husband of Wealtheow, who has converted to Christianity. Beowulf has a mistress, Ursula, but his tryst with Grendel's mother has left him sterile to both his wife and mistress. On the anniversary of Beowulf's victory against Grendel, Unferth returns the golden drinking horn, which his slave had found on the moors. That night, a nearby village is destroyed by a dragon, which then transforms into a golden figure, who orders Unferth to give a message to King Beowulf, the dragon's father: the sins of the father have returned to him (referencing the Faustian bargain curse cycle, which Wealtheow knows about). Afterwards, Beowulf privately confesses to Wealtheow about his affair with Grendel's mother and asks her forgiveness.
Beowulf and Wiglaf go to the cave once again, and Beowulf enters alone. When Grendel's mother appears, Beowulf throws her the golden horn, but she refuses it and the dragon attacks Beowulf's castle, threatening Wealtheow and Ursula. Despite his age, Beowulf goes to great lengths to stop the dragon, slicing off his own arm in the process. Eventually, he kills the dragon by ripping its heart out, and he and the creature tumble to the rocky beach below the castle. The dragon transforms into its golden humanoid form, before being washed out to sea. Before he dies, Beowulf tries to tell Wiglaf the truth about his affair with Grendel's mother and acknowledge his son, but Wiglaf insists on keeping his legacy intact.
As the new king, Wiglaf gives Beowulf a Norse funeral. Wiglaf finds the golden horn in the sand and sees Grendel's mother give Beowulf a final kiss as his burning ship sinks into the sea. Grendel's mother slowly rises to the water's surface and seductively beckons Wiglaf towards her. He wades into the sea, while holding the golden drinking horn, before pausing halfway in the surf. They both stare at each other, the Demon seductively waiting and Wiglaf clearly tempted.
Ray Winstone as Beowulf,
Crispin Glover and Angelina Jolie as Grendel and his mother, the antagonists.
Anthony Hopkins as King Hrothgar.
John Malkovich as Unferth.
Brendan Gleeson as Wiglaf, Beowulf's lieutenant
Robin Wright Penn as Queen Wealtheow
Alison Lohman as Ursula, Beowulf's concubine when he is an old king
Costas Mandylor as Hondshew
Sebastian Roche as Wulfgar
Greg Ellis as Garmund
Tyler Steelman as Young Cain, Unferth's disabled slave
Dominic Keating as Adult Cain
Rik Young as Eofor
Charlotte Salt as Estrith
Leslie Harter Zemeckis as Yrsa
Fredrik Hiller as Finn of Frisia