Действие фильма разворачивается в Дании VI века, где правитель Хротгар готовится отпраздновать завершение строительства своего величественного зала Хеорота. В дворцовом зале гремят песни, звенят бокалы и слышны радостные возгласы гостей, но празднование мгновенно омрачается: из мрачных глубин выныривает чудовище по имени Грендель и сеет смерть среди пирующих. Чтобы положить конец бедствию, Хротгар набирает на помощь смелого воина Беовульфа и его отряд гетов, обещав щедрый вознаграждение за победу над зверем — половину царской сокровищницы и славу наследникам. Беовульф и его спутники прибывают на кораблях к землям Хротгара, решив уничтожить зло. Однако зверь исчезает, и вскоре становится понятно, что он отправляется к своей матери — могущественной демонической сущности водного мира. Король закрывает зал и держит слово, предлагая награду за ликвидацию Гренделя. Вскоре Беовульф вступает в бой с чудовищем, готовый держать оборону до последнего. Но советник короля Унферт не доверяет пришельцу, и между ним и героем возникают трения, усложняющие выполнение миссии и дальнейшее развитие событий.
Сценаристы Нил Гейман и Роджер Эвери начали писать сценарий ещё в мае 1997 года.
Некоторые 3D-модели актёров в фильме заметно омоложены. А Беовульф внешне не похож на Рэя Уинстона, который сыграл его роль.
Криспин Гловер и продюсер и режиссёр Роберт Земекис были на ножах ещё со времён иска по поводу картины « Назад в будущее 2 » (1989), но в конце концов помирились, и Гловер согласился сыграть Гренделя.