Netflix The Witcher season 2 recap guide: All 8 episodes explained

The Witcher. Cr: Netflix.
The Witcher. Cr: Netflix. /
1 of 8
Freya Allen as Ciri and Henry Cavill as Geralt in The Witcher season 2 episode 1. Cr: Netflix.
Freya Allen as Ciri and Henry Cavill as Geralt in The Witcher season 2 episode 1. Cr: Netflix. /

One of Netflix’s most popular series, The Witcher, is about to return for its highly-anticipated third season. The Witcher season 3 is a momentous occasion for several reasons. For one, it will finally give us the Yennefer/Geralt/Ciri content we’ve been waiting for, and two, it will be the last season to feature Henry Cavill as Geralt of Rivia before he’s replaced by Liam Hemsworth.

Ahead of the third season, which will premiere its first part on June 29 followed by the second part on July 27, we’re recapping the entirety of The Witcher season 2. It has been well over a year since The Witcher season 2 dropped on Netflix. If you haven’t had time to rewatch the second season, you might be very confused headed into season 3. The following recap guide will remind you of all the major events that happened in the sophomore season.

In The Witcher season 2, Geralt learns what life is like with his new Child of Surprise, Ciri. He’s thrust into a new phase of his life as he must protect her from all the people after her. Elsewhere, Yennefer deals with the losses at Sodden and unexpected allies.

The Witcher season 2 episode 1 recap: A Grain of Truth

The second season of The Witcher starts with another adaptation of a short story from The Last Wish, “A Grain of Truth.” It begins with a terrifying cold open as a merchant and two women attempt to find lodgings on a wintry night. Within seconds of knocking on the door of the first house they find, the merchant and his companions are brutally murdered by an unseen creature.

After the title drop, we follow up with Tissaia (MyAnna Buring) in the aftermath of the Battle of Sodden Hill. The bloodied battlefield is riddled with the corpses of thousands of soldiers. A desperate Tissaia is searching for Yennefer by using her gift to witness the final moments of several nearby bodies. Geralt (Henry Cavill) arrives moments later with Ciri (Freya Allen) on horseback. Both Geralt and Tissaia assume the worst about Yennefer, that she died sacrificing herself to buy time until the armies arrived, securing the mages’ victory over Nilfgaard.

Taking refuge in the woods, Geralt notices Ciri having a nightmare while she sleeps. Upon waking, they swap details of their respective night terrors, and Geralt tells her more about the Law of Surprise and how he ended up becoming her protector. Ciri obviously cannot return to Cirilla, but she wonders if Skellige could be an option, as she has connections there. Geralt points out she’d be married off to the first Lord of Bad Breath who comes looking. Another nobody who would be after her for her crown.

Geralt plans to take Ciri to Kaer Morhen, an old keep where witchers used to train. But the road there is treacherous, as all roads seem to be on the Continent. On their way, Geralt notices a bloodied carcass in the road and hears some ominous screeching in the distance.

We saw this place already in the cold open, so we know there is something dangerous afoot, and Geralt’s witcher senses detect it, too. They seek shelter with Geralt’s old pal Nivellen (Kristofer Hivju), but these days he’s more beast than man.

While Ciri relaxes with a hot bath, the old friends catch up over wine. It’s been some 13 years since they last saw each other and given Nivellen’s appearance, he has quite the tale to tell. For starters, Nivellen has some supernatural control over the house, able to summon things like bathtubs, wine, and food by simply asking. Whatever creature is lurking there is in the ceilings, watching Ciri as she bathes and dresses.

Over dinner, Nivellen tells Ciri how he and Geralt met. When he was a boy, Nivellen’s father hired Geralt to take care of a wyvern infestation. A young Nivellen wanted to impress his dad, so he tried killing one himself, inadvertently falling into the creature’s lair. Geralt saved him, killed the wyvern, and let Nivellen take credit for the kill since he got paid regardless. Big ol’ softie.

Geralt presses Nivellen to tell him how he became cursed. Nivellen confesses he fell in with a bad lot, got high on mushrooms, and trashed a temple belonging to a dangerous cult known as the Lionheaded Spider. For his debauchery, a cult priestess cursed him. Nivellen claims he doesn’t remember the details, only something about “love and blood.” Even suicide doesn’t work, whatever curse the priestess cast has kept Nivellen locked in this state.

Retiring to the fireside after dinner, Geralt questions why the neighboring village has been destroyed and abandoned. Nivellen claims it’s just the aftermath of the Battle of Sodden, but Geralt isn’t quite buying that. Then Nivellen alleges the Wild Hunt has been riding around the area, a portent of doom that would keep anyone sane at bay.

Despite Nivellen’s fearmongering about the end of days and the world succumbing to chaos, Geralt is still suspicious. And he has a right to be since we know full well that Nivellen is hiding something, something that killed that merchant and his companions at the start of the hour. Nivellen says the weird sounds in his house are just his cat, Vereena. Geralt doesn’t buy it and decides to scout the property to ensure they’re safe.

Nivellen keeps Ciri company with an elven fairytale while Geralt surveys the area. Ciri asks if he’s ever tried to cure himself, but Nivellen believes he deserves his fate because when he was first turned, he slaughtered all of his servants and buried them in the statue garden. Despite his claims, Ciri doesn’t see Nivellen as a monster, and she would know, considering she saw her home burnt to ash with her family trapped inside. Nivellen says monsters are more than their looks, they’re born of deeds done, unforgivable ones.

Through his investigation, Geralt finds something on Nivellen’s property and challenges his friend to a drinking game. During the game, Geralt laments the loss of Yennefer, the woman who cracked his icy witcher heart. He truly believes she’s dead.

The game takes a turn as Geralt realizes Nivellen has been cheating to avoid answering questions and maintain his secret, which is that he has a monster living in his house, a Bruxa named Vereena. Vereena emerges that night while Ciri is sleeping and having a nightmare. She seems taken with Ciri and relates to her loneliness.

Their conversation is similar to the one Ciri and Nivellen had before, about the true nature of a monster. Ciri realizes that Nivellen loves Vereena and was hiding her from Geralt on purpose to keep her from getting killed. Vereena uses her abilities to put Ciri back to sleep and protect her secret.

It doesn’t matter though, Geralt is already onto Nivellen and further sleuthing helps him figure out that a Bruxa is living in the house. He tells Ciri to wait by Roach and leave as fast as she can if anyone but him emerges from the house.

Meanwhile, Geralt drinks some of his potions and goes into black-eyed monster-hunting mode as he and Vereena face off. Their fight spills out into the courtyard where Ciri is waiting. Vereena warns her not to run because she can’t help but chase her like prey if she does. Then the Bruxa morphs into her flying bat form. Geralt slashes her with his sword, and she falls to the ground, seemingly down for the count.

But when Ciri gets close to her, she springs into action and threatens to rip Ciri’s throat out if Geralt doesn’t leave them alone. Before Geralt can do anything, Nivellen comes flying out the door, impaling Vereena on a scythe. She goes all freaky Exorcist complete with a 180-degree head turn to tell Nivellen she loves him and if she cannot have him no one can.

Before Vereena can kill Nivellen, Geralt decapitates her, finally killing her. Nivellen’s curse is lifted since I guess a Bruxa’s love is still love. I’m assuming the curse demanded that someone Nivellen loved must die. Doesn’t matter if she was a monster or not, she loved Nivellen, and that was enough to rid him of the curse. For Nivellen, it’s an empty victory since the woman he loved is dead.

He also confesses to Geralt that the real reason he was cursed is not for destroying the cult’s temple, but because he raped the priestess and he knowingly turned a blind eye to Vereena’s murder sprees for years. Nivellen pleads with Geralt to end his life. Geralt’s retort is short and sweet: “You’re mortal now, do it yourself.”

At another campfire, Geralt makes it clear they need to go over the ground rules. Ciri needs to obey him when he tells her to run or hide. Ciri confesses she’s terrified all the time because everywhere she goes people die. It makes her want to burn the world. Geralt promises to keep Ciri safe and to be there for her, to help her face her fears.

MyAnna Buring as Tissaia de Vries and Eamon Farren as Cahir in The Witcher season 2 episode 1. Cr: Netflix.
MyAnna Buring as Tissaia de Vries and Eamon Farren as Cahir in The Witcher season 2 episode 1. Cr: Netflix. /

Inquisitor or executioner?

At Aretuza, things are looking bleak for the mages. They might have won the Battle of Sodden Hill, but they hardly have the resources needed to continue their assault on Nilfgaard or to defend themselves against another attack. Burned badly at Sodden, Triss (Anna Shaffer) starts succumbing to some kind of seizure while Artorius (Terence Maynard) examines her, so Tissaia steps in to assist. Afterward, she, Artorius, and Vilgefortz (Mahesh Jadu) regroup to discuss their next plan of action.

They assume Yennefer is lost to them and Artorius’s niece, Fringilla, too since she was assisting Nilfgaard in coordinating their attack alongside the mage’s Nilfgaardian prisoner Cahir (Eamon Farren). Cahir refuses to give the mages anything they can work with. How long will that resolve last when Tissaia starts magically torturing him?

Tissaia commences her torture of Cahir to find out everything he knows about Nilfgaard and their plans, promising to take his memories and trap him in the eternal darkness of his own mind. “I know you want to scream. But it’s too soon. It’s too soon because I haven’t even started yet. If evolution has traced any groove at all into your brain, I will plough it somewhat deeper. And then you will know what a scream can really be!” I, too, would become absolutely feral and unhinged if I thought Yennefer was dead so I get her.

The refrain of the defeated

Speaking of prisoners, Yennefer (Anya Chalotra) is alive but is now being held as a prisoner of war by Fringilla (Mimi Ndiweni) and several Nilfgaardians.

Behind enemy lines, Yennefer is handcuffed with dimeritium cuffs, meaning she cannot cast any magic. From conversing with Fringilla, Yennefer learns that the mages won the battle and that Fringilla intends to hand Yennefer over at Nilfgaard to be killed.

Yennefer questions if Fringilla really thinks Nilfgaard will let her off the hook for losing the battle by using her as a sacrifice. On the contrary, Fringilla believes her head will roll before Yennefer’s, and apparently, she’s okay with that because now she’s fighting for liberation rather than being used as a pawn like she believes she was at Aretuza. Yennefer tries to convince her to return with her and find redemption, but Fringilla is stubborn in her beliefs.

But that night, their troupe is attacked by unseen archers who pick off Fringilla’s entire squadron one by one until it’s just her and Yennefer left standing alone to face the darkness.