Les humains ont découvert l'existence des vampires et des lycans et tentent de les exterminer jusqu'à l'extinction. Selene (Kate Beckinsale) est capturée par les humains. Elle se réveille en plein milieu d'un complexe scientifique appelé « Antigen » après avoir été plongée dans un coma artificiel pendant 12 ans. Elle découvre que le monde qu'elle connaissait a bien changé pendant ce temps, mais garde espoir de retrouver Michael.
Selene rencontre Eve (India Eisley), une jeune adolescente qui se révèle non seulement être un hybride des deux espèces, mais également sa fille. Selene et Eve trouvent refuge auprès d'un groupe de vampires dont fait partie David (Theo James). Rapidement, le refuge est attaqué par un groupe de lycans mené par un nouveau genre de loup-garou, plus grand, plus fort et insensible à l'argent. Thomas, chef du groupe et père de David, leur livre Eve quand Selene est vaincue.
Selene en est persuadée : les lycans n'ont pas disparu, mais ils préparent leur retour grâce à Antigen, et ils ont besoin d'Eve pour cela. En effet, le plan du Dr Jacob Lane est d'utiliser les ovules d'Eve pour engendrer des clones de lycans bénéficiant des effets du vaccin développés avec le sang d'Eve. Avec le détective Sebastian, Selene prépare sa contre-attaque pour libérer Eve.