In età medievale i vampiri, governati dal consiglio presieduto da Viktor (Bill Nighy), utilizzavano come schiavi i lycan, una razza ibrida di essere umani e licantropi, che non avevano bisogno della luna piena per trasformarsi in lupi mannari.
Il giovane Lucian (Michael Sheen), primo tra i Lycan ad avere questa capacità, non contento delle condizioni in cui venivano tenuti i suoi simili ed innamorato segretamente di Sonja (Rhona Mitra), la bella figlia del re, come un novello Spartaco dà il via alla rivolta degli schiavi compattando i licantropi e dichiarando guerra ai vampiri.
Nemmeno una sconvolgente verità su Sonja convincerà Viktor a fermare la ritorsione contro i suoi schiavi, trasformando uno scontro tra razze in una guerra millenaria.