Close this search box.

The Witcher Season 2 Review

Netflix’s The Witcher is back with season 2 and it’s bigger, better, and more real while retaining its fun tone that celebrates the fantasy genre.

The Witcher’s first season aired on the same weekend as Star Wars: The Rise of Skywalker was released, back in December of 2019, having the difficult job of standing out amidst the premiere of a massive blockbuster. Yet, the show proved to have found its audience, as fans of the video games, fans of Andrzej Sapkowski’s novels, and newcomers to the franchise came together and fell in love with these characters and the fictional world of the Continent. With its great success, the show got renewed, and now, two years later and several COVID-19 production delays after, The Witcher’s season 2 aims to captivate audiences around the world once again on this holiday season. But was the wait worth it?

Assuming Yennefer’s (Anya Chalotra, Army of the Dead: Lost Vegas) life was lost during the Battle of Sodden, season 2 picks up with Geralt of Rivia (Henry Cavill, Zack Snyder’s Justice League) and Princess Cirilla (Freya Allan, Gunpowder Milkshake) traveling across the Continent to the ancestral home of the witchers, Kaer Morhen. There, Geralt and his brothers in arms will attempt to train Ciri in their ways while protecting her from outsiders, monsters, and the power she holds inside. Geralt must do this as war rages in the Continent involving kings, elves, humans and monsters.

The Witcher had a lot going on in season 1, jumping back and forth between three different timelines that collided in the show’s final moments. It asked for a lot of patience from the audience and for their attention since the series wasn’t going to stop to explain things to you, you’d instead have to keep up with the show. Ultimately, it succeeded with what it was trying to do with its narrative structure, à la Christopher Nolan’s Dunkirk, and delivered a satisfying season of television with a lot of questions to answer. Season 2, naturally, has a lot more going on, as it tries to continue threads from season 1 and introduce new characters to be invested in.

WARNING: heavy spoilers ahead…

loud and clear reviews The Witcher season 2 netflix show 2021 henry cavill geralt of rivia hug
Kim Bodnia plays Vesemir and Henry Cavill plays Geralt of Rivia in Season 2 of The Witcher (Jay Maidment / Netflix)

Episode 1, “A Grain of Truth,” opens with some common folks arriving at a residency where they are viciously killed by a flying monster. After this, we see the after-math of the Battle of Sodden as we learn that Nilfgaard lost the battle, while Tissaia (MyAnna Buring, The Descent), Vilgefortz (Mahesh Jadu, Marco Polo), and Geralt search for Yennefer’s body with no luck. This happens as we discover Yen survived the battle and is now a prisoner of Nilfgaard. We spend the rest of the episode with Tissaia and Vilgefortz trying to gain information by torturing Cahir (Eamon Farren, The Dig), an intelligence officer of the Nilfgaardian Empire responsible for the attack on Cintra. Meanwhile, Ciri and Geralt stop for the night at Nivellen’s (Kristofer Hivju, Game of Thrones) residency, the same one from the opening scene. He’s an old friend of Geralt’s who’s been cursed and is hiding a dangerous bruxa, a vampire-like creature who he’s fallen in love with. Geralt is forced to kill the bruxa, lifting the curse on Nivellen.

Out of the entire season,  “A Grain of Truth” feels the most similar to the show’s first season and its “monster of the week” structure. The beauty and the beast vibes of Nivellen’s tragic arc make for quite a compelling “one-off” episode. Of course, there’s much more at play other than Geralt and Ciri’s journeys, but getting an episode that isn’t necessary to the main plot yet advances our protagonists’ relationship is extremely entertaining.  If you saw the spin-off anime film Nightmare of the Wolf, a prequel about Geralt’s mentor Vesemir (Kim Bodnia, Killing Eve), then you’d find the opening sequence quite familiar to the one from that, which is a nice call-back that demonstrates the writers are trying to keep everything thematically connected. The episode as a whole works as a way to show how people mourn differently. Ciri is dealing with her trauma after losing her family and home, Geralt’s cynicism is through the roof thinking Yen is gone, while Tissaia’s anger gets the better of her and Nivellen’s denial and depression leads him to have suicidal thoughts after losing his love at the hands of Geralt.

As the season goes on, we see our hero and his princess arrive at Kaer Morhen, where they’re welcomed with open arms by Geralt’s witcher brothers, with the exception of Eskel (Basil Eidenbenz, Denial). We get a couple of bonding scenes between Vesemir and Geralt, showcasing just how much they care for one another despite everyone assuming witchers don’t have human emotions. Eskel is then seen transformed into a monster after his encounter with a Leshy, a forest god, on his way to Kaer Morhen. Geralt is forced to kill his brother, serving as Ciri’s first lesson in her journey to train as a witcher herself. Back with Yennefer, she and Fringilla (MimÎ M. Khayisa, Black Earth Rising) are kidnapped by a group of elves. There’s tension between them, but Yen and Frangilla’s lives are spared after Francesca (Mecia Simson, Brave New World), new leader of the elves, learns the three of them have been sharing the same dreams. This results in Yennefer discovering she’s lost her magical powers.

If episode 2, “Kaer Morhen”, lets book readers know anything, is that this season won’t be afraid of making major changes to the source material. For example, Eskel’s death never happens in the books, and the way Kaer Morhen itself is portrayed throughout the season is very different here. Ciri’s memories of the witchers’ home are always fond ones in the novels, not marked by tragedy, so these changes are quite significant. For what it’s worth, though, they make it work and they tie-in to the show’s themes about a found family with Geralt and Ciri forming a strong bond together. Eskel’s death, though, affects Geralt’s relationship with the other witchers, such as Vesemir seeing one of his children being killed to protect Ciri. This will come back in the season finale. Episode 2 also serves as a great way to present a pivotal idea in the witcher universe, that being people trying to claim what they believe is rightfully theirs. We see this with Frangilla, Francesca, Yennefer and their shared visions of a robed figure showing them their deeper desires, resulting in Frangilla and Francesca forming an alliance between the elves and Nilfgaard, and Yen desperately asking for her powers back. A refreshing change for Yennefer’s arc since she isn’t really present in the book this season is based on, and when she is she’s seen losing her sight. The show changes this to a more metaphorical loss of sight by making her lose her powers all together.

loud and clear reviews The Witcher season 2 netflix show 2021 henry cavill geralt of rivia sword
Henry Cavill plays Geralt of Rivia in Season 2 of The Witcher (Jay Maidment / Netflix)

Ciri’s training officially begins in episode 3, “What Is Lost,” as we see Lambert (Paul Bullion, Peaky Blinders) and Coen (Yasen Atour, Robin Hood) take over training duties from Geralt while he and Vesemir take Eskel’s body to an ancestral witcher burial. She is put through the mud as Lambert is relentless with her, though not from a hateful place. Instead you get a sense he is pushing her to be the best because he’s starting to care for her too as a little sister. There’s also plenty of tension in Kaer Morhen after Eskel’s unfortunate death, with Geralt being accused of killing one of their own, as he struggles with the memories of his beloved witcher brother. He encounters an injured Ciri on his way back home. They eventually go to the woods after Ciri has a vision, where Geralt is forced to protect her from a Myriapod, a giant creature resembling a centipede mixed with other beings. Back with Yennefer, she returns to Aretuza, the school of the mages. There, she is told her victory during the Battle of Sodden was credited to Vilgefortz for political reasons. Stregobor (Lars Mikkelsen, House of Cards), a high ranking mage, on the other hand, suspects she’s a traitor after she spent time with elves and at the hand of Nilfgaard. To prove her worth, she is forced to kill Cahir, but she rebels and escapes with him instead.

A common theme we explore throughout the series is how witchers constantly attempt to make themselves look emotionless in the eyes of the public, when in reality they’re just as vulnerable as everybody else. This comes into the forefront in “What Is Lost,” as everybody is seen mourning Eskel in their own way and the resentment they have towards Geralt, himself included. Henry Cavill brings such subtlety to his portrayal of the iconic “white wolf,” he doesn’t have to utter a word for you to know what’s going through his head. His chemistry with Freya Allan has been nothing short of incredible this season as they build a great on-screen father and daughter relationship. Every time we see them spend quality time together showcases they’re the heart and soul of the overall narrative. Anya Chalotra remains one of the most fascinating performers to see evolve in her character’s shoes as well. Season 2 in particular gives her a lot to play with. Not only is she struggling with losing her powers and not being given proper credit for her actions at the Battle of Sodden, but there’s a level of sarcasm and constant anger within that makes her stand out amongst the cast. Feeling betrayed by her own order definitely pushes her to the edge, which makes for an engaging character to follow.

Redanian Intelligence,” episode 4, introduces us to even more political intrigue as a beloved character from the books and the games comes into the picture, Dijkstra (Graham McTavish, Castlevania). He’s a spymaster and serves King Vizimir (Ed Birch, The Last Kingdom) of Redania. Together they are plotting to potentially take over Cintra now that it’s vulnerable after the attack. After liberating Cahir, Yennefer is on the run hiding with a group of elves trying to escape to Cintra, since it’s become a safe place for elves after their alliance with Nilfgaard. During her mission, she encounters Geralt’s old friend, Jaskier (Joey Batey, Knightfall). He helps her get on a boat to her destination, but he gets caught and is taken as a prisoner, forcing Yen to stay behind to help him. In Kaer Morhen, Ciri’s training continues but is interrupted by the arrival of the mage Triss Merigold (Anna Shaffer, Harry Potter and the Deathly Hallows: Part II ), who is there to help Ciri understand her magical abilities. Along with Geralt, Triss uncovers a connection between the Continent and monoliths, giant obsidian stone pillars, and how they can be related to the sighting of new monsters. Meanwhile, Vesemir discovers Ciri could be the key to the witchers’ future.

You don’t get to say this very often with a show, especially a fantasy series, but it’s genuinely impressive to see how The Witcher only gets better with each new episode. Even though the political intrigue of the show has been present since season 1, it really comes into fruition in “Redanian Intelligence.” With the introduction of Dijkstra, the rules of the game change when he sends an elf named Dara (Wilson Mbomio, Hunter Street) to Cintra to spy on the activities of the elves and Nilfgaard, which would only complicate an already complicated war. The stakes reach a new high and it is in no way ever jarring. It’s a credit to showrunner Lauren Schmidt’s ability to keep her writers focused on the characters despite there being multiple conflicts going on at once. We get to explore the themes of racism in the Continent as well, as hate crimes are inflicted on elves and we witness the brutal mistreatment they’ve undergone at the hands of humans.

As we reach the second half of season 2, Geralt teams up with the mage Istredd (Royce Pierreson, Judy), Yennefer’s first love. They make for an awkward pairing as they travel to the outskirts of Cintra to investigate the fallen monolith Ciri destroyed back in season 1. In Kaer Morhen, Vesemir convinces Ciri to allow him to perform several experiments using her blood in order to test his theory about Ciri possibly being the key to creating more witchers. It works, but it leads to Triss discovering the terrible truth about Ciri’s purpose and potential future of dooming them all. We also see Yennefer rescue Jaskier from a dangerous mage named Rience (Chris Fulton, Outlaw King), who is after Ciri under the orders of an unnamed contractor. Eventually, Yen gets captured, which leads her to make a pact with a familiar robed demon out of desperation.

“Turn Your Back” brings even more exposition as our characters begin to realize what Ciri’s role is in regards to the fate of the world. Episode 5 plays with the same idea of showing things from another perspective, just as season 1 did. The only difference is that it’s less confusing here and it’s used to explain unsolved threads from the previous episode. Joey Batey’s comedic timing with Jaskier brings a much needed levity to what is a way darker season of The Witcher. Paired with Anya’s cynical Yennefer, and you get an unlikely duo that serves as filler, though it all eventually comes back to Ciri when Yen encounters the robed figure again, offering Yennefer her powers back in exchange for Ciri. Geralt and Istredd, on the other hand, find more questions than answers on their research as they theorize that the Conjunction of the Spheres, the cataclysm event that caused monsters, humans, elves and dwarves to live in the same world, is still very much present thanks to the monoliths serving as gateways to other worlds. 

Episode 6, “Dear Friend,” opens with Geralt and Ciri on the road once again, after he intervenes in Vesemir’s experiments. They encounter a chernobog, a new monster with wings and charcoal black exoskeleton. Geralt slays the beast, losing his trustee horse Roach in the process. They continue on their way to the sanctuary of the Temple of Melitele, run by the priestess Nenneke (Adjoa Andoh, Bridgerton). Yennefer, Ciri and Geralt’s paths cross here, but their peace is short-lived when Rience invades the temple with his henchmen. Yennefer teaches Ciri how to summon a portal with magic and they escape against Geralt’s wishes. As this unfolds, tension increases in Cintra with Cahir’s return, which defies Frangilla’s rule and complicates the elves’ welcome in the city. Istredd, on the other hand, is investigating why Nilfgaard is after a witcher and a princess, leading him to discover Ciri’s family tree had elder blood.

In a way, this episode is sort of what the entirety of seasons 1 and 2 had been building up to, with the reunion of Geralt and Yennefer and their personal connection to Ciri. At the end of the day, they will serve as her parental figures in seasons to come, so seeing them interact with one another and getting to develop their relationship as this unconventional family is a lot of fun to watch. Cavill and Allan have demonstrated they have great chemistry, but since we haven’t seen Chalotra share a scene with the young actress, it was worrisome how they would play off one another. Luckily, they’re awesome together and this immediate mother and daughter bond starts to develop, an important part of Yennefer’s arc, since she spent half of season 1 trying to find a cure to her infertility. Even though it goes without saying, the action set pieces have been great across the board, but the one in this episode at the temple stands out the most. The cinematography elevates this fight scene with some very impressive shots that allow us to have a proper look at the choreography, which is brutal yet beautiful to watch considering Geralt’s fighting style comes across almost as dancing techniques, if that makes sense. 

Season 2’s penultimate episode, “Voleth Meir,” ramps things up as Geralt and Jaskier reunite and they go on a mission to catch up with Yennefer and Ciri after Geralt learns Yen lost her magic and is looking to offer Ciri as a sacrifice to an ancient demon named Voleth Mier (Ania Marson, The Alienist), whom the witchers imprisoned in a hut centuries ago. Meanwhile, Yennefer is training Ciri how to properly use her magic, which slowly makes Yen have a change of heart involving her original plan. They reach Cintra, but are spotted by Nilfgaardian soldiers and are almost taken hostage until Geralt arrives just in time to save them. Fringilla is having problems convincing the elves to fight for Nilfgaard after the birth of Francessca’s baby, which puts her position in question by Cahir and his men. This forces her to choose between going back to Aretuza, or fighting for her role in Nilfgaard. Things get even more complicated when Francessca’s newborn is mysteriously murdered. Speaking of Aretuza, Dijkstra arrives unannounced to question Tissaia about what she knows about Ciri, resulting in a conflict emerging between Triss, Vilgefortz and Tissaia.

loud and clear reviews The Witcher season 2 netflix show 2021 yennefer
Anya Chalotra plays Yennefer in Season 2 of The Witcher (Susie Allnut / Netflix)

Once again, even though Yennefer is not my favorite character this season, this episode showcases how layered she is as a character and how well of a job Anya Chalotra does in bringing her to life. She by far has the most to do in this series in terms of emotional turmoil, rather losing her powers than giving Ciri away, and Anya portrays it flawlessly. You might not agree with her decisions, but you understand her reasoning. Francesca’s story is an interesting one to follow as well, because instead of doing a complete 180 and being devoted to Nilfgaard after helping her people, there’s now conflict amongst them when Nilfgaard proves to be just as bad as the rest of the Northern kingdoms. With the assassination of Francesca’s baby, what was considered the future of the elves, this pushes them to new extreme forms of violence.

We’ve reached the point of no return in season 2 where everybody’s storylines come to a resolution, as well as setting up future throughlines for upcoming seasons and spin-offs. It turns out, Ciri is possessed by Voleth Mier and wakes up in this dream-like fantasy where all of her family members from season 1 are alive. This happens as her body, being controlled by Voleth Mier, arrives at Kaer Morhen and proceeds to assassinate the witchers in their bed. Geralt and Yennefer get there just in time to interrupt Mier’s attempt to kill Vesemir, but she escapes. The witchers band together to fight this demon inside of Ciri. They succeed, but not before losing half of their men and getting a glimpse of the dangerous world where the mysterious Wild Hunt rests, who will no doubt try to claim Ciri as their own just like everybody else. On the other side of the Continent, Francesca, Filavandrel (Tom Canton, Truth Seekers) and their men travel to Redania to assassinate babies across the kingdom as an act of revenge since they believe Redania are responsible for the murder of her baby. Tissaia, in the meantime, is plotting with kings and queens of the Continent to place a bounty on Ciri’s head and those who protect her. The season closes with the Emperor Emhyr (Bart Edwards, Domina) arriving at Cintra, revealing he is Ciri’s biological father and that he was the one who sent an assassin to kill Francesca’s newborn in order to cause chaos in the Northern kingdoms. He proceeds to order the imprisonment of Cahir and Frangilla for lying to him about their intentions, with their fates up in the air.

Talk about a strong finale: season 2 goes out on a high note as episode 8, “Family,” is all about just that, embracing the family you found along the way. Or, in the case of Francesca, losing those you love the most. You always hope for a show’s final episode to feel like anything is possible, anything can go wrong at any given moment, making it more exciting for the audience to see. Episode 8 does exactly that as we see our favorite characters suffer consequences for their actions. Geralt not only has to bring Ciri back to her old self, but he needs to fight Vesemir in order to prevent him from killing Ciri after being blinded by his grief for Eskel’s death and now the demise of other witchers after Voleth Mier murdered them using Ciri’s body. Yennefer also has her own battles to fight as she tries to help the witchers, despite lacking her magical powers, as she struggles to gain Geralt’s trust back after breaking it by almost dooming Ciri’s fate. It’s all resolved with the “power of love,” though, as ridiculous as that may sound for such a serious television series. They find a way to make it work, though, through our characters’ motivations as none of our core characters in Kaer Morhen are bad individuals, but they’re just very damaged people. 

I am sure season 2 of The Witcher will cause much outrage from hardcore fans who won’t like changes were made to the source material. Personally, as a fan myself of all things witcher, I didn’t mind any of it. Yes, you can argue they weren’t necessary to the story, and some changes work better than others, but when there’s been several iterations of these characters in the past you kind of have to change it up to make it feel fresh and new, or else what’s the point of making another adaptation when we already have a perfect representation of it in CD Projekt RED’s video games.

It shouldn’t come as a surprise, but you can tell The Witcher received an increasingly better budget for season 2. Production designer Andrew Laws does an outstanding job at making the world of the Continent feel more lively, dirtier and real this time around. Season 1, though competent, had a bit of a cheap look half of the time, even if it was an expensive season to produce. For example, Geralt’s wig was hit and miss throughout the first season. It looked great during some episodes, not so much in others. Fortunately, that’s not a problem here. From the costumes to the massive sets, the VFXs and the creature designs, it makes for a stunning looking fantasy series that wouldn’t surprise me if it ever reaches the production quality that something like Game of Thrones managed to achieve in its later seasons. 

For every action set piece we’re treated to, there’s even more quiet moments with characters discussing their feelings, trauma, and the politics of their world. To me, this is what makes any show great. Yes, you can have the best and most expensive production, but if you don’t care about the characters, then what’s the point? The Witcher balances these things out marvelously, a real testament to the show’s writers and directors behind the camera. Managing a production of this magnitude ain’t an easy task, so seeing the team of filmmakers behind The Witcher improve upon season 1 on a technical, visual and narrative standpoint was a welcomed surprise. I was expecting season 2 to be on par with its predecessor, but they really delivered on our expectations and more. 

I’d say this: if you enjoyed season 1 of The Witcher, then I would find it hard for you to be disappointed here. It’s everything you loved, but better. If you weren’t a fan of how the show portrayed the books, or if you thought it was too confusing to follow, I’d still recommend for you to give this a shot. You’ll be able to find at least something redeemable to take away with you. As for me? I couldn’t be happier with the outcome. A story where Geralt finally accepts his destiny, Ciri chooses to move forward instead of holding on to the past, and Yennefer finds herself through somebody she will love as a daughter is incredibly compelling. It’s especially exciting as a book reader to know what’s to come, yet still have no idea how they’ll bring the rest of the story to life since they will most likely keep making changes. I want to see Geralt and Yen’s complicated relationship be explored on a more personal level. We only got crumbs in season 2, so getting to see two people who clearly love each other, yet lost trust in one another will be super engaging from an emotional point of view. Whatever Lauren Schmidt and her team have in store for us in the future, I know I will be there on day one ready to binge watch Geralt and his child of surprise’s next adventures.

Season 2 ofThe Witcher premiered globally on Netflix December 17, 2021.

Thank you for reading us! If you’d like to help us continue to bring you our coverage of films and TV and keep the site completely free for everyone, please consider a donation.