Nhiều năm sau đó, cậu bé người rừng Grendel nay đã lớn nhưng vẫn tự giam mình trong hang động, lúc nào cũng mang trong lòng một mối thù sâu nặng với những kẻ đã sát hại cha mình. Mỗi khi nhìn vào chiếc đầu lâu của cha, Grendel lại trở nên điên cuồng hơn và ngọn lửa thù hận lại càng bùng cháy trong hắn. Một đêm nọ, Grendel đột nhập vào ngôi làng của vua Hrothgar và giết chết 20 chiến binh một cách rất dã man...
Được lệnh của nhà vua vùng Geatland, vị anh hùng Beowulf (Gerard Butler) dẫn theo 12 người Geat đến Đan Mạch để giệt trừ tên người rừng khát máu. Nhưng Grendel không phải là một kẻ dễ đối phó. Hơn nữa, Beowulf lại bắt đầu cảm thấy ngần ngại không muốn giết Grendel sau khi biết rằng năm xưa vua Hrothgar đã truy sát cha con người rừng chỉ vì tội đánh cắp một con cá...