Beowulf (Ray Winstone) is a legendary Geatish warrior who travels to Denmark with his band of soldiers, including his best friend, Wiglaf (Brendan Gleeson). They travel in response to the call of King Hrothgar (Anthony Hopkins), who needs a hero to slay a monster called Grendel (Crispin Glover), a hideously disfigured troll-like creature with superhuman strength. Grendel attacks Hrothgar's mead hall, Heorot, whenever the Danes hold a celebration there, and Hrothgar was forced to close the hall. Upon arriving, Beowulf immediately becomes attracted to Hrothgar's wife, Queen Wealtheow (Robin Wright Penn), who does not love her husband and reciprocates Beowulf's interest.nnBeowulf and his men celebrate in Heorot to lure Grendel out. When the beast does attack, Beowulf engages him unarmed and naked, determining that since Grendel seems to be immune to mortal weapons and carries no weapons of his own, armour and a sword would be pointless in the fight. Watching his reactions during the melee, Beowulf discovers that Grendel has hypersensitive hearing, which is why he interrupts Hrothgar's celebrations – the noise they make is physically painful to him. After his eardrum is ruptured by Beowulf, he attempts to escape (having shrunk in size due to the injury). Beowulf manages to restrain Grendel and severs his arm using the door. 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.nnReturning to his cave, the dying Grendel tells his mother what was done to him and by whom, and she swears revenge. She travels to Heorot in the night and slaughters Beowulf's men while they were sleeping. Hrothgar tells both Beowulf and Wiglaf, who had been sleeping outside the hall during the attack, that it was the work of Grendel's mother, the last of the Water Demons, who was thought by Hrothgar to have left the land. Beowulf and Wiglaf travel to the cave of Grendel's mother to slay her. Only Beowulf enters the cave where he encounters Grendel's mother (Angelina Jolie), who takes the form of a beautiful woman. She offers to make him the greatest king who ever lived if he will agree to give her a son to replace Grendel and let her keep the golden drinking horn. Beowulf gives in to her advances and returns, claiming to have killed her. Hrothgar, however, realizes the truth. He tells Beowulf indirectly that, much like Beowulf, he was also seduced by Grendel's mother; Grendel was the result of their tryst. Hrothgar names Beowulf his successor as king, much to the dismay of his royal advisor, Unferth (John Malkovich), who was hoping to take the throne. Hrothgar then commits suicide by jumping from the castle parapet onto the beach below. A wave momentarily engulfs Hrothgar's body, there is a golden flash underwater, and the body is gone.nnYears later, the elderly Beowulf is married to Wealtheow. She refuses to give him an heir because of his tryst with the water demon (she had refused to give Hrothgar an heir for the same reason). Beowulf takes a mistress, Ursula (Alison Lohman). One day, Unferth's slave Cain (Dominic Keating) finds the golden drinking horn in a swamp near Grendel's cave and brings it back to the kingdom. That night, a nearby village is destroyed by a dragon, which leaves Unferth alive in order to deliver a message to King Beowulf: the dragon is Beowulf's son born to Grendel's mother. Removing the horn has voided the agreement between Beowulf and Grendel's mother, who has now sent their son, the dragon, to destroy his kingdom.nnBeowulf and Wiglaf go to the cave once again and Beowulf goes into the cave alone. When Grendel's mother appears, Beowulf gives her the golden horn to convince her to stop the attack. Grendel's mother considers it too late for any kind of agreement. She releases the dragon to attack Beowulf's kingdom again. Beowulf goes to great lengths to stop the monster, even severing his own arm, and ultimately kills the dragon by ripping its heart out. The dragon's fall mortally wounds Beowulf, but he lives long enough to watch the carcass of the dragon transform into the humanoid body of his son before it is washed out to sea. Beowulf insists on speaking the truth about his affair with Grendel's mother but Wiglaf insists on keeping Beowulf's legacy intact. As the new king, Wiglaf gives Beowulf a Norse funeral and watches as Grendel's mother appears and gives Beowulf a final kiss before his ship sinks into the sea. Wiglaf sees the golden horn in the sand while Grendel's mother floats in the sea, looking at him seductively. The movie ends ambiguously with Wiglaf holding the horn and staring back at her.