In 500 CE, Hrothgar, king of Denmark, and a group of warriors chase a large and burly man, whom they consider a troll, and his young son, who already bears cheek and chin whiskers, to the edge of a steep seaside cliff. The father directs his young son, Grendel, to hide from the attackers' view; whereupon The Danes shoot the father dead, and his dead body plunges onto the beach far below. The Danish king sees the young Grendel, but spares him. Later, Grendel finds his father's body and cuts the head off to take it home. Many years later, the severed (and mummified) head is inside a cave, apparently the centerpiece of a primitive memorial. The boy Grendel has now become as large and powerful as his father, and contemplating the head, he plans revenge.
When Hrothgar finds twenty of his warriors killed inside his great hall, the Danish king falls into a depression. Beowulf, with the permission of Hygelac, king of Geatland, sails to Denmark with thirteen Geats to slay Grendel for Hrothgar. The arrival of Beowulf and his warriors is welcomed by Hrothgar, but the king's village has fallen into a deep despair and many of the pagan villagers convert to Christianity at the urging of an Irish monk. While Grendel does raid Hrothgar's village during the night, he flees rather than fight. Selma the witch tells Beowulf that Grendel will not fight him because Beowulf has committed no wrong against him.
A villager, recently baptized and thus now unafraid of death, leads Beowulf and his men to the cliff above Grendel's cave. However, the Geats do not enter, having no rope to climb down the cliff. When the villager is found dead, Beowulf and his men return with a rope and gain entry to Grendel's secret cave, where one of Beowulf's men mutilates the mummified head of Grendel's father. That night, Grendel invades Hrothgar's great hall, kills the Geat who desecrated his father's head, and leaps from the second story, but is caught in a trap by Beowulf. Grendel, refusing capture, escapes by severing his captive arm. He flees to the beach and collapses into the water, where his body is claimed by a mysterious webbed hand. Thereafter Hrothgar admits to Beowulf that he had killed Grendel's father for stealing a fish but had spared the child Grendel out of pity. Grendel's severed arm is kept by the Danes as a trophy. In revealing more about Grendel, Selma recounts that Grendel had once clumsily raped her and has protected her since that day; and Beowulf becomes her paramour. The Geats and Danes proceed to nail Grendel's arm to the rafters of the hall as a trophy.
At night, the Danes are later attacked by Grendel's mother, the Sea Hag, who kills some men and reclaims her son's arm. Beowulf and the Geats return to Grendel's cave a third time to investigate. They find an underwater passage hidden in a pond within the cave. Beowulf dives through this passage and find Grendel's body in the cave on the other end. When examining the body, he is suddenly attacked by the Sea Hag and slays her with a sword from among her treasure. He then notices that the battle had been observed by the child of Grendel and Selma. Later Beowulf, with Grendel's son watching, buries Grendel with ceremony. Shortly thereafter, Beowulf and his band of Geats leave Denmark by ship, having warned Selma that she must hide her son, lest the Danes destroy him.
Gerard Butler as Beowulf
Stellan Skarsgård as Hrothgar
Ingvar E. Sigurðsson as Grendel
Hringur Ingvarsson as Young Grendel
Sarah Polley as Selma
Eddie Marsan as Father Brendan
Tony Curran as Hondscioh
Ronan Vibert as Thorkel
Rory McCann as Breca
Martin Delaney as Thorfinn
Spencer Wilding as Grendel's Father
Gunnar Eyjólfsson as Aeschere
Philip Whitchurch as Fisherman
Mark Lewis as Hygelac
Elva Ósk Ólafsdóttir as Sea Hag
Ólafur Darri Ólafsson as Unferth
Steinunn Ólína Thorsteinsdóttir as Wealhtheow
Gísli Örn Garðarsson as Erik
Gunnar Hansson as Grímur
Benedikt Clausen as Selma's Child
Steindór Andersen as Snorri
Matt John Evans as Geat Warrior #1
Jon Gustafsson as Geat Warrior #2
Þröstur Leó Gunnarsson as Guard
Arnór Hákonarsson as Kid #1
Thórdur Helgi Gudjónsson as Kid #2
Kristín Gunnarsdottir as Dead Woman
Ólafur Egill Ólafsson as Necrophile
Helgi Björnsson as Man