Геральт и его наставник Весемир прибывают в город Белый Сад после получения письма от давно потерянной возлюбленной Геральта Йеннифэр. После победы над грифоном местного нильфгаардского гарнизона Геральт сопровождает Йеннифэр в город Визима, где они встречаются с императором Эмгыром. Эмгыр приказывает Геральту найти Цири, которая является биологической дочерью Эмгыра и приемной дочерью Геральта. Цири - дитя Старшей Крови, последняя наследница древней эльфийской родословной, которая наделяет ее способностью манипулировать временем и пространством, и ее неустанно преследует загадочная Дикая Охота. Геральт узнает о трех местах, где недавно видели Цири: разоренной войной болотной провинции Велен, свободном городе-государстве Новиград и островах Скеллиге.
В Велене Геральт выслеживает Цири до крепости Кровавого барона, военачальника, недавно захватившего власть в провинции. Барон требует, чтобы Геральт нашел его пропавших жену и дочь в обмен на информацию о Цири. Геральт узнает, что барон своими пьяными выходками прогнал собственную семью; в то время как его дочь сбежала в Оксенфурт, его жена Анна стала служанкой Крон, трех злобных ведьм, которые следят за Веленом. Он также обнаруживает, что Цири ненадолго попала в плен к Кронам, но сбежала в крепость барона, прежде чем продолжить путь в Новиград.
В Новиграде Геральт воссоединяется со своей бывшей возлюбленной Трисс Меригольд, которая ушла в подполье, спасаясь от преследований со стороны Церкви Вечного огня. Он узнает, что Цири и его старый друг Лютик столкнулись с могущественными криминальными авторитетами Новиграда, пытаясь снять проклятие, связанное с таинственной филактерией. С помощью Трисс и нескольких старых знакомых Геральт спасает Лютика, который рассказывает ему, что Цири телепортировалась, спасаясь от преследования охранников.
Геральт плывет в Скеллиге и воссоединяется с Йеннифэр, которая расследует магический взрыв неподалеку от того места, где Цири видели в последний раз. Они обнаруживают, что Цири посещала остров Лофотен, но когда Дикая Охота напала снова, сбежала на лодке с неопознанным эльфом. Когда лодка вернулась к берегу, ее единственной обитательницей была Ума, уродливое существо, которое Геральт ранее видел живущим с Кровавым Бароном. Придя к выводу, что Ума стала жертвой проклятия, которое Цири пыталась снять в Новиграде, Геральт забирает Уму в Велене и отвозит его в почти заброшенную школу ведьмаков в Каэр Морхене. Работая с Йеннифэр и другими ведьмаками, Геральт снимает проклятие и восстанавливает истинную личность Умы: Аваллак’х, учителя Цири и эльфа, которого видели с ней во время ее путешествий. Аваллак’х рассказывает Геральту, что он погрузил Цири в зачарованный сон на Острове Туманов, чтобы временно обезопасить ее от Дикой Охоты.
Геральт находит Цири на Острове Туманов и узнает от нее, что Эредин, лидер Дикой Охоты, хочет, чтобы силы ее Старшей Крови спасли его родной мир от катастрофы, известной как Белый Мороз. Они возвращаются в Каэр Морхен и укрепляют его на случай неизбежного прихода Охоты. В последовавшей битве Весемир был убит, в результате чего Цири высвободила свою неконтролируемую силу и временно отправила Охоту в отступление.
Понимая, что Охота никогда не прекратится, Цири и Геральт решают сразиться с Эредином в выбранное ими время и в выбранном месте. Пока Трисс и Йеннифэр реформируют Ложу Волшебниц, чтобы помочь им в борьбе, Геральт восстанавливает Солнечный Камень, артефакт, который может поддерживать связь между мирами. Используя Солнечный камень, Аваллак’х заманивает Эредина в Скеллиге, где Геральт побеждает его в бою. Умирая, Эредин говорит Геральту, что Аваллак’х предал его, и планирует использовать силу Цири в своих целях.
Когда Белый Мороз начинает вторгаться на Континент, Геральт и Йеннифэр преследуют Аваллак’х, но находят Цири живой и невредимой. Она говорит Геральту, что Аваллак’х не предатель и намеревался сражаться только с Белым Морозом. Вспоминая свои отношения с Геральтом, Цири находит в себе силы остановить катаклизм; если Геральт покровительствовал и защищал ее на протяжении всей игры, она погибает при попытке, но если он помог ей повзрослеть и сделать свой собственный выбор, она выживает.
Выбор игрока может привести к нескольким различным концовкам. Если Цири выживет после победы над Белым Морозом и Геральт отвезет ее на встречу с отцом, она станет императрицей Нильфгаарда. Если Цири выживет, но не встретится с императором, Геральт поможет ей инсценировать смерть, и она станет ведьмаком. Если Цири погибнет в ее противостоянии с Белым Морозом, история закончится тем, что Геральт заберет ее медальон у последней оставшейся в живых Карги. Выбор игрока также определяет, вступит ли Геральт в романтические отношения с Йеннифэр, Трисс или ни с кем из них, и какая часть Севера в конечном итоге будет завоевана Нильфгаардом.