The Witcher Geralt of Rivia arrives in the village of Blaviken, where competing forces attempt to employ his services as an assassin. In the kingdom of Cintra, a reluctant princess finds her world upended.
Princess Cirilla falls in with a group of refugees from her kingdom, who do not know her real identity -- while Geralt finds himself with a new traveling companion. Elsewhere the witch Tissaia de Vries trains a group of young women, including a hunchbacked girl sold off by her heartless father.
Geralt arrives in a town where a creature has killed the last Witcher they hired, creating a tense stand-off between the disaffected people and their king -- whose family harbors shameful secrets. Yennefer considers the person she may be able to become.
Geralt plays bodyguard for his bard at a royal wedding feast, and Yennefer works to protect a young queen and her infant child from a magical assassin. Elsewhere Cirilla is drawn into the mystical Brokilon Forest.
Geralt and Jaskier tangle with a magical Djinn that leaves the bard maimed, sending them in search of a mage -- in the town where Yennefer has been flexing her powers. Elsewhere, a familiar face comes to Brokilon to find Ciri.
Geralt is invited to join a hunting party to slay a dragon, alongside assorted dwarves, reavers -- and the witch Yennefer, who is escorting an over-eager young knight with visions of glory. Ciri and Dara grow suspicious of their new companion.
With Nilfgaard on the march Geralt returns to Cintra in order to protect his young charge, while Yennefer looks to rekindle an old flame, and ends up back at her old school. In the future, Ciri looks for a way to reach Skellige.
Yennefer leads the company of mages in the defense of the keep at Sodden Hill from the Nilfgaardian army, led by Tissaia's former protégé Fringilla. The Witcher finds himself gravely wounded, leading him to a reckoning with his past -- and his future destiny.