Beowulf returns to his childhood home of Herot, after many years wandering as a mercenary warrior, to pay his respects to ailing ward and Thane of Herot Hrothgar (William Hurt), and to set right past wrongs. But when Herot is attacked by the terrifying monster Grendl, Beowulf has no choice but to hunt it down, winning favour with Herot's new female Thane, Rheda (Joanne Whalley) and the wider community, in the process.