Beowulf is a American performance capture fantasy film that is based on the Anglo-Saxon English epic poem of the same name. Set in Denmark in the 5th century, the film opens with King Hrothgar (Anthony Hopkins) celebrating the construction of his new mead hall, Heorot.
The noise echoes into Grendel's (Crispin Glover) cave, tormenting him. In a mad fury, Grendel breaks into the hall and kills many people. After being challenged by Hrothgar, Grendel runs back to his lair, where he is admonished by his mother for attacking the humans and inviting retribution. When she asks about Hrothgar Grendel tells her he did not harm him.
Meanwhile, Hrothgar closes Heorot and proclaims that he will give half of his kingdom's gold to any man who can defeat Grendel. Beowulf (Ray Winstone) and his men arrive by ship from Geatland and convince Hrothgar to reopen Heorot. Beowulf's credibility is challenged by Unferth (John Malkovich), the King's most trusted advisor. Beowulf proceeds to tell the tale of how he slew several sea serpents in a past adventure, convincing them that he is capable of killing Grendel. Hrothgar offers to give Beowulf his own golden drinking horn, should the hero be able to destroy Grendel.
That evening, Queen Wealtheow performs a song for Beowulf, which entices him. As Beowulf's men lock up the mead hall, Beowulf strips naked to "fairly" fight the naked Grendel. His men are to sing loudly, to attract the monster. A predictably enraged Grendel attacks the hall once again and kills several of Beowulf's men. Beowulf engages Grendel in hand to hand battle and defeats the monster, ripping off his left arm, forcing Grendel to retreat.
Later Hrothgar and Queen Wealtheow (Robin Wright Penn) argue. Hrothgar states that he needs an heir. Wealtheow refuses to comply because Hrothgar has told her that he had slept with Grendel's mother (thus conceiving Grendel).
After Grendel returns to the cave to die, and his mother flies to Heorot in a vengeful rage and initially appears to Beowulf in a dream, disguised as Wealtheow. When Beowulf wakes, he finds all his men dead except for Wiglaf who had elected to forego the festivities and tend to the ship. Beowulf confronts Hrothgar, whose evasive answers imply that he knows more of Grendel's past than he wishes to discuss, though he tells Beowulf how to find Grendel's mother.
Beowulf and Wiglaf find the cave. Beowulf enters it alone, eventually confronting Grendel's demon mother (Angelina Jolie). She appears to him as a beautiful nude woman, dripping with liquid gold. She promises fame and power if Beowulf gives her a son. She also demands the Horn of Hrothgar with the promise that as long as it is hers, Heorot will be safe: Beowulf's sword (Hrunting given to him by Unferth) melts in her hands and he gives in to her temptations.
Beowulf returns to Heorot with Grendel's severed head and tells a disbelieving Hrothgar that he killed Grendel's mother. Hrothgar, realising Beowulf has succumbed to the same temptation as him, states that his curse has been lifted (implying that it has passed to Beowulf) and then publicly proclaims Beowulf heir to his kingdom — and its queen.
Hrothgar then throws himself from the battlements to his death; Wealtheow looks over the balcony in time to see Grendel's mother steal away Hrothgar's soul. Stunned, Beowulf is duly crowned king and marries Wealtheow.
Many years pass and King Beowulf, now a Christian, becomes old and disillusioned, a shadow of his former self, believing his glories to be behind him. One night, Unferth's servant finds the Horn of Hrothgar on a desolate moor, and Beowulf realizes its meaning: Grendel's mother has reneged on their bargain, and Heorot is again in danger. That evening Beowulf dreams of a golden man (his son by the demon) threatening both the old Queen Wealtheow and Beowulf's young mistress, Ursula.
The next night, the man, in the form of a monstrous dragon, attacks a village outside Heorot. The dragon gives the horrendously burned and traumatised Unferth a message, which he passes on to Beowulf: 'The sins of the fathers!'
Beowulf, intending to break the cycle of Grendel's mother's demon curse, rides with Wiglaf to her cave to kill the dragon and end the madness. Beowulf also tries to confess his past sins to Wiglaf, but his old friend refuses to listen. Beowulf enters the cave alone and attempts to return the Dragon Horn to her. But the demoness tells him it's too late, and then unleashes the dragon.
The dragon attacks Heorot, overcoming a desperate attempt by Beowulf's army to kill it, and proceeds to the castle to murder Queen Wealtheow and Ursula. Beowulf kills it in a daring maneuver, dangling from a chain round its neck, he rips out the dragon's heart with his bare hand, but by doing so he had to cut off his own arm. The dying beast plummets from the sky, dragging Beowulf along, and fatally wounding him.
They fall to the shores far below. The dragon reverts to the golden man of Beowulf's dream, whom Beowulf now recognizes as his son. His dying body is swept away into the tide as Beowulf reaches out for him. Beowulf then dies in Wiglaf's arms. The latter, still refusing to believe his friend is anything but a hero, finally listens to Beowulf's confession.
Beowulf is given a Norse funeral. As Wiglaf, now the new King, watches Beowulf's ship burn out at sea, the demoness appears to him, rising out of the sea and gazing into his eyes. Wiglaf tentatively enters the water, and the pair stare uncertainly at each other.